diff --git a/Caddyfile b/Caddyfile new file mode 100644 index 0000000..75a3c84 --- /dev/null +++ b/Caddyfile @@ -0,0 +1,27 @@ + +http://localhost + +route /sonarr/api/v3/* { + uri strip_prefix /sonarr + reverse_proxy sonarr_v3:4010 +} + +route /sonarr/api/v5/* { + uri strip_prefix /sonarr + reverse_proxy sonarr_v5:4010 +} + +route /radarr/* { + uri strip_prefix /radarr + reverse_proxy radarr:4010 +} + +# route /tmdb/* { +# uri strip_prefix /tmdb +# reverse_proxy tmdb:4010 +# } + +route /jellifin/* { + uri strip_prefix /jellifin + reverse_proxy jellifin:4010 +} \ No newline at end of file diff --git a/README.md b/README.md index d8e1dea..8681eb7 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,12 @@ ## APIS +### Host mocked api's + +```bash +docker compose up +``` + ### Generate openapi client - path to source yml or json @@ -12,5 +18,5 @@ example ```bash -bunx openapi-typescript .\src\features\content\apis\api.yml -o .\src\features\content\apis\api.generated.ts +bunx openapi-typescript .\src\features\content\apis\api.json -o .\src\features\content\apis\api.generated.ts ``` \ No newline at end of file diff --git a/docker-compose.mocks.yml b/docker-compose.mocks.yml new file mode 100644 index 0000000..468a04b --- /dev/null +++ b/docker-compose.mocks.yml @@ -0,0 +1,54 @@ +version: '3' +services: + proxy: + image: caddy + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile + ports: + - '8080:80' + depends_on: + - sonarr_v3 + - sonarr_v5 + - radarr + - jellyfin + + sonarr_v3: + image: stoplight/prism + volumes: + - './src/features/content/apis:/var/apis' + command: >- + mock + -h 0.0.0.0 + -p 4010 + /var/apis/sonarr.v3.json + + sonarr_v5: + image: stoplight/prism + volumes: + - './src/features/content/apis:/var/apis' + command: >- + mock + -h 0.0.0.0 + -p 4010 + /var/apis/sonarr.v5.json + + radarr: + image: stoplight/prism + volumes: + - './src/features/content/apis:/var/apis' + command: >- + mock + -h 0.0.0.0 + -p 4010 + /var/apis/radarr.json + + jellyfin: + image: stoplight/prism + volumes: + - './src/features/content/apis:/var/apis' + command: >- + mock + -h 0.0.0.0 + -p 4010 + /var/apis/jellyfin.json + /var/apis/jellyfin.json \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index fb9d8b7..22a7ace 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,17 @@ +version: '3' services: - jellyfin: - image: stoplight/prism - ports: - - '9003:4010' + sonarr: + image: hotio/sonarr + container_name: sonarr volumes: - - './src/features/content/apis:/var/apis' - command: 'mock -h 0.0.0.0 /var/apis/jellyfin.json' \ No newline at end of file + - ./media:/media + ports: + - 8989:8989 + + radarr: + image: hotio/radarr + container_name: radarr + volumes: + - ./media:/media + ports: + - 7878:7878 \ No newline at end of file diff --git a/src/features/content/apis/radarr.generated.ts b/src/features/content/apis/radarr.generated.ts new file mode 100644 index 0000000..3bfff71 --- /dev/null +++ b/src/features/content/apis/radarr.generated.ts @@ -0,0 +1,9275 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/api/v3/alttitle": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + movieId?: number; + movieMetadataId?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["AlternativeTitleResource"][]; + "application/json": components["schemas"]["AlternativeTitleResource"][]; + "text/json": components["schemas"]["AlternativeTitleResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/alttitle/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["AlternativeTitleResource"]; + "application/json": components["schemas"]["AlternativeTitleResource"]; + "text/json": components["schemas"]["AlternativeTitleResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ApiInfoResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: { + returnUrl?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + username?: string; + password?: string; + rememberMe?: string; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/logout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/autotagging": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AutoTaggingResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["AutoTaggingResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["AutoTaggingResource"]; + "application/json": components["schemas"]["AutoTaggingResource"]; + "text/json": components["schemas"]["AutoTaggingResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/autotagging/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["AutoTaggingResource"]; + "application/json": components["schemas"]["AutoTaggingResource"]; + "text/json": components["schemas"]["AutoTaggingResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["AutoTaggingResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["AutoTaggingResource"]; + "application/json": components["schemas"]["AutoTaggingResource"]; + "text/json": components["schemas"]["AutoTaggingResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/autotagging/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/backup": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BackupResource"][]; + "application/json": components["schemas"]["BackupResource"][]; + "text/json": components["schemas"]["BackupResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/backup/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/backup/restore/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/backup/restore/upload": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/blocklist": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + movieIds?: number[]; + protocols?: components["schemas"]["DownloadProtocol"][]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BlocklistResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/blocklist/movie": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + movieId?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BlocklistResource"][]; + "application/json": components["schemas"]["BlocklistResource"][]; + "text/json": components["schemas"]["BlocklistResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/blocklist/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/blocklist/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["BlocklistBulkResource"]; + "text/json": components["schemas"]["BlocklistBulkResource"]; + "application/*+json": components["schemas"]["BlocklistBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/calendar": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + start?: string; + end?: string; + unmonitored?: boolean; + tags?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MovieResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/feed/v3/calendar/radarr.ics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pastDays?: number; + futureDays?: number; + tags?: string; + unmonitored?: boolean; + releaseTypes?: components["schemas"]["CalendarReleaseType"][]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/collection": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + tmdbId?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CollectionResource"][]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CollectionUpdateResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/collection/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CollectionResource"]; + "application/json": components["schemas"]["CollectionResource"]; + "text/json": components["schemas"]["CollectionResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CollectionResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CollectionResource"]; + "application/json": components["schemas"]["CollectionResource"]; + "text/json": components["schemas"]["CollectionResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/command": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CommandResource"][]; + "application/json": components["schemas"]["CommandResource"][]; + "text/json": components["schemas"]["CommandResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CommandResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CommandResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/command/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CommandResource"]; + "application/json": components["schemas"]["CommandResource"]; + "text/json": components["schemas"]["CommandResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/credit": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + movieId?: number; + movieMetadataId?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/credit/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CreditResource"]; + "application/json": components["schemas"]["CreditResource"]; + "text/json": components["schemas"]["CreditResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/customfilter": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CustomFilterResource"][]; + "application/json": components["schemas"]["CustomFilterResource"][]; + "text/json": components["schemas"]["CustomFilterResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomFilterResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CustomFilterResource"]; + "application/json": components["schemas"]["CustomFilterResource"]; + "text/json": components["schemas"]["CustomFilterResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/customfilter/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CustomFilterResource"]; + "application/json": components["schemas"]["CustomFilterResource"]; + "text/json": components["schemas"]["CustomFilterResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomFilterResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CustomFilterResource"]; + "application/json": components["schemas"]["CustomFilterResource"]; + "text/json": components["schemas"]["CustomFilterResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/customformat": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomFormatResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomFormatResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CustomFormatResource"]; + "application/json": components["schemas"]["CustomFormatResource"]; + "text/json": components["schemas"]["CustomFormatResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/customformat/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CustomFormatResource"]; + "application/json": components["schemas"]["CustomFormatResource"]; + "text/json": components["schemas"]["CustomFormatResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomFormatResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CustomFormatResource"]; + "application/json": components["schemas"]["CustomFormatResource"]; + "text/json": components["schemas"]["CustomFormatResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/customformat/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomFormatBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomFormatResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomFormatBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/customformat/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/wanted/cutoff": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + monitored?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MovieResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/delayprofile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DelayProfileResource"][]; + "application/json": components["schemas"]["DelayProfileResource"][]; + "text/json": components["schemas"]["DelayProfileResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DelayProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DelayProfileResource"]; + "application/json": components["schemas"]["DelayProfileResource"]; + "text/json": components["schemas"]["DelayProfileResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/delayprofile/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DelayProfileResource"]; + "application/json": components["schemas"]["DelayProfileResource"]; + "text/json": components["schemas"]["DelayProfileResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DelayProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DelayProfileResource"]; + "application/json": components["schemas"]["DelayProfileResource"]; + "text/json": components["schemas"]["DelayProfileResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/delayprofile/reorder/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: { + after?: number; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DelayProfileResource"][]; + "application/json": components["schemas"]["DelayProfileResource"][]; + "text/json": components["schemas"]["DelayProfileResource"][]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/diskspace": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DiskSpaceResource"][]; + "application/json": components["schemas"]["DiskSpaceResource"][]; + "text/json": components["schemas"]["DiskSpaceResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DownloadClientResource"]; + "application/json": components["schemas"]["DownloadClientResource"]; + "text/json": components["schemas"]["DownloadClientResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient/test": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + forceTest?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient/testall": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient/action/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/downloadclient": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/downloadclient/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DownloadClientConfigResource"]; + "application/json": components["schemas"]["DownloadClientConfigResource"]; + "text/json": components["schemas"]["DownloadClientConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DownloadClientConfigResource"]; + "application/json": components["schemas"]["DownloadClientConfigResource"]; + "text/json": components["schemas"]["DownloadClientConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/extrafile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + movieId?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ExtraFileResource"][]; + "application/json": components["schemas"]["ExtraFileResource"][]; + "text/json": components["schemas"]["ExtraFileResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/filesystem": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + path?: string; + includeFiles?: boolean; + allowFoldersWithoutTrailingSlashes?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/filesystem/type": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + path?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/filesystem/mediafiles": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + path?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/health": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["HealthResource"][]; + "application/json": components["schemas"]["HealthResource"][]; + "text/json": components["schemas"]["HealthResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/history": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + includeMovie?: boolean; + eventType?: number[]; + downloadId?: string; + movieIds?: number[]; + languages?: number[]; + quality?: number[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HistoryResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/history/since": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + date?: string; + eventType?: components["schemas"]["MovieHistoryEventType"]; + includeMovie?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HistoryResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/history/movie": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + movieId?: number; + eventType?: components["schemas"]["MovieHistoryEventType"]; + includeMovie?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HistoryResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/history/failed/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/host": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["HostConfigResource"]; + "application/json": components["schemas"]["HostConfigResource"]; + "text/json": components["schemas"]["HostConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/host/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["HostConfigResource"]; + "application/json": components["schemas"]["HostConfigResource"]; + "text/json": components["schemas"]["HostConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["HostConfigResource"]; + "text/json": components["schemas"]["HostConfigResource"]; + "application/*+json": components["schemas"]["HostConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["HostConfigResource"]; + "application/json": components["schemas"]["HostConfigResource"]; + "text/json": components["schemas"]["HostConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ImportListResource"]; + "application/json": components["schemas"]["ImportListResource"]; + "text/json": components["schemas"]["ImportListResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist/test": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + forceTest?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist/testall": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist/action/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/importlist": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/importlist/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ImportListConfigResource"]; + "application/json": components["schemas"]["ImportListConfigResource"]; + "text/json": components["schemas"]["ImportListConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ImportListConfigResource"]; + "application/json": components["schemas"]["ImportListConfigResource"]; + "text/json": components["schemas"]["ImportListConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/exclusions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @deprecated */ + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListExclusionResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListExclusionResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ImportListExclusionResource"]; + "application/json": components["schemas"]["ImportListExclusionResource"]; + "text/json": components["schemas"]["ImportListExclusionResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/exclusions/paged": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListExclusionResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/exclusions/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ImportListExclusionResource"]; + "application/json": components["schemas"]["ImportListExclusionResource"]; + "text/json": components["schemas"]["ImportListExclusionResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListExclusionResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ImportListExclusionResource"]; + "application/json": components["schemas"]["ImportListExclusionResource"]; + "text/json": components["schemas"]["ImportListExclusionResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/exclusions/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListExclusionResource"][]; + "text/json": components["schemas"]["ImportListExclusionResource"][]; + "application/*+json": components["schemas"]["ImportListExclusionResource"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListExclusionBulkResource"]; + "text/json": components["schemas"]["ImportListExclusionBulkResource"]; + "application/*+json": components["schemas"]["ImportListExclusionBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist/movie": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + includeRecommendations?: boolean; + includeTrending?: boolean; + includePopular?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MovieResource"][]; + "text/json": components["schemas"]["MovieResource"][]; + "application/*+json": components["schemas"]["MovieResource"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IndexerResource"]; + "application/json": components["schemas"]["IndexerResource"]; + "text/json": components["schemas"]["IndexerResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer/test": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + forceTest?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer/testall": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer/action/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/indexer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/indexer/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IndexerConfigResource"]; + "application/json": components["schemas"]["IndexerConfigResource"]; + "text/json": components["schemas"]["IndexerConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IndexerConfigResource"]; + "application/json": components["schemas"]["IndexerConfigResource"]; + "text/json": components["schemas"]["IndexerConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexerflag": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IndexerFlagResource"][]; + "application/json": components["schemas"]["IndexerFlagResource"][]; + "text/json": components["schemas"]["IndexerFlagResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/language": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["LanguageResource"][]; + "application/json": components["schemas"]["LanguageResource"][]; + "text/json": components["schemas"]["LanguageResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/language/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["LanguageResource"]; + "application/json": components["schemas"]["LanguageResource"]; + "text/json": components["schemas"]["LanguageResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/localization": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": string; + "application/json": string; + "text/json": string; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/localization/language": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LocalizationLanguageResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/log": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + level?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LogResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/log/file": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["LogFileResource"][]; + "application/json": components["schemas"]["LogFileResource"][]; + "text/json": components["schemas"]["LogFileResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/log/file/{filename}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + filename: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/manualimport": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + folder?: string; + downloadId?: string; + movieId?: number; + filterExistingFiles?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ManualImportResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ManualImportReprocessResource"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/mediacover/{movieId}/{filename}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + movieId: number; + filename: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/mediamanagement": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MediaManagementConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/mediamanagement/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["MediaManagementConfigResource"]; + "application/json": components["schemas"]["MediaManagementConfigResource"]; + "text/json": components["schemas"]["MediaManagementConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MediaManagementConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["MediaManagementConfigResource"]; + "application/json": components["schemas"]["MediaManagementConfigResource"]; + "text/json": components["schemas"]["MediaManagementConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/metadata": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MetadataResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/metadata/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["MetadataResource"]; + "application/json": components["schemas"]["MetadataResource"]; + "text/json": components["schemas"]["MetadataResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MetadataResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/metadata/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/metadata/test": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + forceTest?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MetadataResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/metadata/testall": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/metadata/action/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MetadataResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/metadata": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/metadata/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["MetadataConfigResource"]; + "application/json": components["schemas"]["MetadataConfigResource"]; + "text/json": components["schemas"]["MetadataConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MetadataConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["MetadataConfigResource"]; + "application/json": components["schemas"]["MetadataConfigResource"]; + "text/json": components["schemas"]["MetadataConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/wanted/missing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + monitored?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MovieResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/movie": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + tmdbId?: number; + excludeLocalCovers?: boolean; + languageId?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["MovieResource"][]; + "application/json": components["schemas"]["MovieResource"][]; + "text/json": components["schemas"]["MovieResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MovieResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MovieResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/movie/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["MovieResource"]; + "application/json": components["schemas"]["MovieResource"]; + "text/json": components["schemas"]["MovieResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: { + moveFiles?: boolean; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MovieResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MovieResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: { + deleteFiles?: boolean; + addImportExclusion?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/movie/editor": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MovieEditorResource"]; + "text/json": components["schemas"]["MovieEditorResource"]; + "application/*+json": components["schemas"]["MovieEditorResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MovieEditorResource"]; + "text/json": components["schemas"]["MovieEditorResource"]; + "application/*+json": components["schemas"]["MovieEditorResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/moviefile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + movieId?: number[]; + movieFileIds?: number[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MovieFileResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/moviefile/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["MovieFileResource"]; + "application/json": components["schemas"]["MovieFileResource"]; + "text/json": components["schemas"]["MovieFileResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MovieFileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["MovieFileResource"]; + "application/json": components["schemas"]["MovieFileResource"]; + "text/json": components["schemas"]["MovieFileResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/moviefile/editor": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @deprecated */ + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MovieFileListResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/moviefile/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MovieFileResource"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MovieFileListResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/movie/{id}/folder": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/movie/import": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MovieResource"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MovieResource"][]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/movie/lookup/tmdb": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + tmdbId?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MovieResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/movie/lookup/imdb": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + imdbId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MovieResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/movie/lookup": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + term?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MovieResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/naming": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["NamingConfigResource"]; + "application/json": components["schemas"]["NamingConfigResource"]; + "text/json": components["schemas"]["NamingConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/naming/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["NamingConfigResource"]; + "application/json": components["schemas"]["NamingConfigResource"]; + "text/json": components["schemas"]["NamingConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["NamingConfigResource"]; + "text/json": components["schemas"]["NamingConfigResource"]; + "application/*+json": components["schemas"]["NamingConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["NamingConfigResource"]; + "application/json": components["schemas"]["NamingConfigResource"]; + "text/json": components["schemas"]["NamingConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/naming/examples": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + renameMovies?: boolean; + replaceIllegalCharacters?: boolean; + colonReplacementFormat?: components["schemas"]["ColonReplacementFormat"]; + standardMovieFormat?: string; + movieFolderFormat?: string; + id?: number; + resourceName?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/notification": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NotificationResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["NotificationResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NotificationResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/notification/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["NotificationResource"]; + "application/json": components["schemas"]["NotificationResource"]; + "text/json": components["schemas"]["NotificationResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["NotificationResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NotificationResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/notification/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NotificationResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/notification/test": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + forceTest?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["NotificationResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/notification/testall": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/notification/action/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["NotificationResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/parse": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + title?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ParseResource"]; + "application/json": components["schemas"]["ParseResource"]; + "text/json": components["schemas"]["ParseResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ping": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PingResource"]; + }; + }; + }; + }; + patch?: never; + trace?: never; + }; + "/api/v3/qualitydefinition/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityDefinitionResource"]; + "application/json": components["schemas"]["QualityDefinitionResource"]; + "text/json": components["schemas"]["QualityDefinitionResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QualityDefinitionResource"]; + "text/json": components["schemas"]["QualityDefinitionResource"]; + "application/*+json": components["schemas"]["QualityDefinitionResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityDefinitionResource"]; + "application/json": components["schemas"]["QualityDefinitionResource"]; + "text/json": components["schemas"]["QualityDefinitionResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/qualitydefinition": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityDefinitionResource"][]; + "application/json": components["schemas"]["QualityDefinitionResource"][]; + "text/json": components["schemas"]["QualityDefinitionResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/qualitydefinition/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QualityDefinitionResource"][]; + "text/json": components["schemas"]["QualityDefinitionResource"][]; + "application/*+json": components["schemas"]["QualityDefinitionResource"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/qualityprofile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityProfileResource"][]; + "application/json": components["schemas"]["QualityProfileResource"][]; + "text/json": components["schemas"]["QualityProfileResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QualityProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityProfileResource"]; + "application/json": components["schemas"]["QualityProfileResource"]; + "text/json": components["schemas"]["QualityProfileResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/qualityprofile/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityProfileResource"]; + "application/json": components["schemas"]["QualityProfileResource"]; + "text/json": components["schemas"]["QualityProfileResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QualityProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityProfileResource"]; + "application/json": components["schemas"]["QualityProfileResource"]; + "text/json": components["schemas"]["QualityProfileResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/qualityprofile/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityProfileResource"]; + "application/json": components["schemas"]["QualityProfileResource"]; + "text/json": components["schemas"]["QualityProfileResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: { + parameters: { + query?: { + removeFromClient?: boolean; + blocklist?: boolean; + skipRedownload?: boolean; + changeCategory?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: { + parameters: { + query?: { + removeFromClient?: boolean; + blocklist?: boolean; + skipRedownload?: boolean; + changeCategory?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QueueBulkResource"]; + "text/json": components["schemas"]["QueueBulkResource"]; + "application/*+json": components["schemas"]["QueueBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + includeUnknownMovieItems?: boolean; + includeMovie?: boolean; + movieIds?: number[]; + protocol?: components["schemas"]["DownloadProtocol"]; + languages?: number[]; + quality?: number[]; + status?: components["schemas"]["QueueStatus"][]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["QueueResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue/grab/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue/grab/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QueueBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue/details": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + movieId?: number; + includeMovie?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QueueResource"][]; + "application/json": components["schemas"]["QueueResource"][]; + "text/json": components["schemas"]["QueueResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QueueStatusResource"]; + "application/json": components["schemas"]["QueueStatusResource"]; + "text/json": components["schemas"]["QueueStatusResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/release": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + movieId?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReleaseResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReleaseResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/releaseprofile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ReleaseProfileResource"][]; + "application/json": components["schemas"]["ReleaseProfileResource"][]; + "text/json": components["schemas"]["ReleaseProfileResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReleaseProfileResource"]; + "text/json": components["schemas"]["ReleaseProfileResource"]; + "application/*+json": components["schemas"]["ReleaseProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ReleaseProfileResource"]; + "application/json": components["schemas"]["ReleaseProfileResource"]; + "text/json": components["schemas"]["ReleaseProfileResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/releaseprofile/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ReleaseProfileResource"]; + "application/json": components["schemas"]["ReleaseProfileResource"]; + "text/json": components["schemas"]["ReleaseProfileResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReleaseProfileResource"]; + "text/json": components["schemas"]["ReleaseProfileResource"]; + "application/*+json": components["schemas"]["ReleaseProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ReleaseProfileResource"]; + "application/json": components["schemas"]["ReleaseProfileResource"]; + "text/json": components["schemas"]["ReleaseProfileResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/release/push": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReleaseResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ReleaseResource"][]; + "application/json": components["schemas"]["ReleaseResource"][]; + "text/json": components["schemas"]["ReleaseResource"][]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/remotepathmapping": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RemotePathMappingResource"][]; + "application/json": components["schemas"]["RemotePathMappingResource"][]; + "text/json": components["schemas"]["RemotePathMappingResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RemotePathMappingResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RemotePathMappingResource"]; + "application/json": components["schemas"]["RemotePathMappingResource"]; + "text/json": components["schemas"]["RemotePathMappingResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/remotepathmapping/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RemotePathMappingResource"]; + "application/json": components["schemas"]["RemotePathMappingResource"]; + "text/json": components["schemas"]["RemotePathMappingResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RemotePathMappingResource"]; + "text/json": components["schemas"]["RemotePathMappingResource"]; + "application/*+json": components["schemas"]["RemotePathMappingResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RemotePathMappingResource"]; + "application/json": components["schemas"]["RemotePathMappingResource"]; + "text/json": components["schemas"]["RemotePathMappingResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/rename": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + movieId?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RenameMovieResource"][]; + "application/json": components["schemas"]["RenameMovieResource"][]; + "text/json": components["schemas"]["RenameMovieResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/rootfolder": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RootFolderResource"][]; + "application/json": components["schemas"]["RootFolderResource"][]; + "text/json": components["schemas"]["RootFolderResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RootFolderResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RootFolderResource"]; + "application/json": components["schemas"]["RootFolderResource"]; + "text/json": components["schemas"]["RootFolderResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/rootfolder/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RootFolderResource"]; + "application/json": components["schemas"]["RootFolderResource"]; + "text/json": components["schemas"]["RootFolderResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/content/{path}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/{path}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["SystemResource"]; + "application/json": components["schemas"]["SystemResource"]; + "text/json": components["schemas"]["SystemResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/routes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/routes/duplicate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/shutdown": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/restart": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/tag": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TagResource"][]; + "application/json": components["schemas"]["TagResource"][]; + "text/json": components["schemas"]["TagResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TagResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TagResource"]; + "application/json": components["schemas"]["TagResource"]; + "text/json": components["schemas"]["TagResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/tag/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TagResource"]; + "application/json": components["schemas"]["TagResource"]; + "text/json": components["schemas"]["TagResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TagResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TagResource"]; + "application/json": components["schemas"]["TagResource"]; + "text/json": components["schemas"]["TagResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/tag/detail": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TagDetailsResource"][]; + "application/json": components["schemas"]["TagDetailsResource"][]; + "text/json": components["schemas"]["TagDetailsResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/tag/detail/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TagDetailsResource"]; + "application/json": components["schemas"]["TagDetailsResource"]; + "text/json": components["schemas"]["TagDetailsResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/task": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TaskResource"][]; + "application/json": components["schemas"]["TaskResource"][]; + "text/json": components["schemas"]["TaskResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/task/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TaskResource"]; + "application/json": components["schemas"]["TaskResource"]; + "text/json": components["schemas"]["TaskResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/ui/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UiConfigResource"]; + "application/json": components["schemas"]["UiConfigResource"]; + "text/json": components["schemas"]["UiConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["UiConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UiConfigResource"]; + "application/json": components["schemas"]["UiConfigResource"]; + "text/json": components["schemas"]["UiConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/ui": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UiConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UpdateResource"][]; + "application/json": components["schemas"]["UpdateResource"][]; + "text/json": components["schemas"]["UpdateResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/log/file/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["LogFileResource"][]; + "application/json": components["schemas"]["LogFileResource"][]; + "text/json": components["schemas"]["LogFileResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/log/file/update/{filename}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + filename: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + /** @enum {string} */ + AddMovieMethod: "manual" | "list" | "collection"; + AddMovieOptions: { + ignoreEpisodesWithFiles?: boolean; + ignoreEpisodesWithoutFiles?: boolean; + monitor?: components["schemas"]["MonitorTypes"]; + searchForMovie?: boolean; + addMethod?: components["schemas"]["AddMovieMethod"]; + }; + AlternativeTitleResource: { + /** Format: int32 */ + id?: number; + sourceType?: components["schemas"]["SourceType"]; + /** Format: int32 */ + movieMetadataId?: number; + title?: string | null; + cleanTitle?: string | null; + }; + ApiInfoResource: { + current?: string | null; + deprecated?: string[] | null; + }; + /** @enum {string} */ + ApplyTags: "add" | "remove" | "replace"; + /** @enum {string} */ + AuthenticationRequiredType: "enabled" | "disabledForLocalAddresses"; + /** @enum {string} */ + AuthenticationType: "none" | "basic" | "forms" | "external"; + AutoTaggingResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + removeTagsAutomatically?: boolean; + tags?: number[] | null; + specifications?: components["schemas"]["AutoTaggingSpecificationSchema"][] | null; + }; + AutoTaggingSpecificationSchema: { + /** Format: int32 */ + id?: number; + name?: string | null; + implementation?: string | null; + implementationName?: string | null; + negate?: boolean; + required?: boolean; + fields?: components["schemas"]["Field"][] | null; + }; + BackupResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + path?: string | null; + type?: components["schemas"]["BackupType"]; + /** Format: int64 */ + size?: number; + /** Format: date-time */ + time?: string; + }; + /** @enum {string} */ + BackupType: "scheduled" | "manual" | "update"; + BlocklistBulkResource: { + ids?: number[] | null; + }; + BlocklistResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + movieId?: number; + sourceTitle?: string | null; + languages?: components["schemas"]["Language"][] | null; + quality?: components["schemas"]["QualityModel"]; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: date-time */ + date?: string; + protocol?: components["schemas"]["DownloadProtocol"]; + indexer?: string | null; + message?: string | null; + movie?: components["schemas"]["MovieResource"]; + }; + BlocklistResourcePagingResource: { + /** Format: int32 */ + page?: number; + /** Format: int32 */ + pageSize?: number; + sortKey?: string | null; + sortDirection?: components["schemas"]["SortDirection"]; + /** Format: int32 */ + totalRecords?: number; + records?: components["schemas"]["BlocklistResource"][] | null; + }; + /** @enum {string} */ + CalendarReleaseType: "cinemaRelease" | "digitalRelease" | "physicalRelease"; + /** @enum {string} */ + CertificateValidationType: "enabled" | "disabledForLocalAddresses" | "disabled"; + CollectionMovieResource: { + /** Format: int32 */ + tmdbId?: number; + imdbId?: string | null; + title?: string | null; + cleanTitle?: string | null; + sortTitle?: string | null; + status?: components["schemas"]["MovieStatusType"]; + overview?: string | null; + /** Format: int32 */ + runtime?: number; + images?: components["schemas"]["MediaCover"][] | null; + /** Format: int32 */ + year?: number; + ratings?: components["schemas"]["Ratings"]; + genres?: string[] | null; + folder?: string | null; + isExisting?: boolean; + isExcluded?: boolean; + }; + CollectionResource: { + /** Format: int32 */ + id?: number; + title?: string | null; + sortTitle?: string | null; + /** Format: int32 */ + tmdbId?: number; + images?: components["schemas"]["MediaCover"][] | null; + overview?: string | null; + monitored?: boolean; + rootFolderPath?: string | null; + /** Format: int32 */ + qualityProfileId?: number; + searchOnAdd?: boolean; + minimumAvailability?: components["schemas"]["MovieStatusType"]; + movies?: components["schemas"]["CollectionMovieResource"][] | null; + /** Format: int32 */ + missingMovies?: number; + tags?: number[] | null; + }; + CollectionUpdateResource: { + collectionIds?: number[] | null; + monitored?: boolean | null; + monitorMovies?: boolean | null; + searchOnAdd?: boolean | null; + /** Format: int32 */ + qualityProfileId?: number | null; + rootFolderPath?: string | null; + minimumAvailability?: components["schemas"]["MovieStatusType"]; + }; + /** @enum {string} */ + ColonReplacementFormat: "delete" | "dash" | "spaceDash" | "spaceDashSpace" | "smart"; + Command: { + sendUpdatesToClient?: boolean; + readonly updateScheduledTask?: boolean; + readonly completionMessage?: string | null; + readonly requiresDiskAccess?: boolean; + readonly isExclusive?: boolean; + readonly isTypeExclusive?: boolean; + readonly isLongRunning?: boolean; + readonly name?: string | null; + /** Format: date-time */ + lastExecutionTime?: string | null; + /** Format: date-time */ + lastStartTime?: string | null; + trigger?: components["schemas"]["CommandTrigger"]; + suppressMessages?: boolean; + clientUserAgent?: string | null; + }; + /** @enum {string} */ + CommandPriority: "normal" | "high" | "low"; + CommandResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + commandName?: string | null; + message?: string | null; + body?: components["schemas"]["Command"]; + priority?: components["schemas"]["CommandPriority"]; + status?: components["schemas"]["CommandStatus"]; + result?: components["schemas"]["CommandResult"]; + /** Format: date-time */ + queued?: string; + /** Format: date-time */ + started?: string | null; + /** Format: date-time */ + ended?: string | null; + /** Format: date-span */ + duration?: string | null; + exception?: string | null; + trigger?: components["schemas"]["CommandTrigger"]; + clientUserAgent?: string | null; + /** Format: date-time */ + stateChangeTime?: string | null; + sendUpdatesToClient?: boolean; + updateScheduledTask?: boolean; + /** Format: date-time */ + lastExecutionTime?: string | null; + }; + /** @enum {string} */ + CommandResult: "unknown" | "successful" | "unsuccessful"; + /** @enum {string} */ + CommandStatus: "queued" | "started" | "completed" | "failed" | "aborted" | "cancelled" | "orphaned"; + /** @enum {string} */ + CommandTrigger: "unspecified" | "manual" | "scheduled"; + CreditResource: { + /** Format: int32 */ + id?: number; + personName?: string | null; + creditTmdbId?: string | null; + /** Format: int32 */ + personTmdbId?: number; + /** Format: int32 */ + movieMetadataId?: number; + images?: components["schemas"]["MediaCover"][] | null; + department?: string | null; + job?: string | null; + character?: string | null; + /** Format: int32 */ + order?: number; + type?: components["schemas"]["CreditType"]; + }; + /** @enum {string} */ + CreditType: "cast" | "crew"; + CustomFilterResource: { + /** Format: int32 */ + id?: number; + type?: string | null; + label?: string | null; + filters?: { + [key: string]: unknown; + }[] | null; + }; + CustomFormatBulkResource: { + ids?: number[] | null; + includeCustomFormatWhenRenaming?: boolean | null; + }; + CustomFormatResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + includeCustomFormatWhenRenaming?: boolean | null; + specifications?: components["schemas"]["CustomFormatSpecificationSchema"][] | null; + }; + CustomFormatSpecificationSchema: { + /** Format: int32 */ + id?: number; + name?: string | null; + implementation?: string | null; + implementationName?: string | null; + infoLink?: string | null; + negate?: boolean; + required?: boolean; + fields?: components["schemas"]["Field"][] | null; + presets?: components["schemas"]["CustomFormatSpecificationSchema"][] | null; + }; + /** @enum {string} */ + DatabaseType: "sqLite" | "postgreSQL"; + DelayProfileResource: { + /** Format: int32 */ + id?: number; + enableUsenet?: boolean; + enableTorrent?: boolean; + preferredProtocol?: components["schemas"]["DownloadProtocol"]; + /** Format: int32 */ + usenetDelay?: number; + /** Format: int32 */ + torrentDelay?: number; + bypassIfHighestQuality?: boolean; + bypassIfAboveCustomFormatScore?: boolean; + /** Format: int32 */ + minimumCustomFormatScore?: number; + /** Format: int32 */ + order?: number; + tags?: number[] | null; + }; + DiskSpaceResource: { + /** Format: int32 */ + id?: number; + path?: string | null; + label?: string | null; + /** Format: int64 */ + freeSpace?: number; + /** Format: int64 */ + totalSpace?: number; + }; + DownloadClientBulkResource: { + ids?: number[] | null; + tags?: number[] | null; + applyTags?: components["schemas"]["ApplyTags"]; + enable?: boolean | null; + /** Format: int32 */ + priority?: number | null; + removeCompletedDownloads?: boolean | null; + removeFailedDownloads?: boolean | null; + }; + DownloadClientConfigResource: { + /** Format: int32 */ + id?: number; + downloadClientWorkingFolders?: string | null; + enableCompletedDownloadHandling?: boolean; + /** Format: int32 */ + checkForFinishedDownloadInterval?: number; + autoRedownloadFailed?: boolean; + autoRedownloadFailedFromInteractiveSearch?: boolean; + }; + DownloadClientResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + fields?: components["schemas"]["Field"][] | null; + implementationName?: string | null; + implementation?: string | null; + configContract?: string | null; + infoLink?: string | null; + message?: components["schemas"]["ProviderMessage"]; + tags?: number[] | null; + presets?: components["schemas"]["DownloadClientResource"][] | null; + enable?: boolean; + protocol?: components["schemas"]["DownloadProtocol"]; + /** Format: int32 */ + priority?: number; + removeCompletedDownloads?: boolean; + removeFailedDownloads?: boolean; + }; + /** @enum {string} */ + DownloadProtocol: "unknown" | "usenet" | "torrent"; + ExtraFileResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + movieId?: number; + /** Format: int32 */ + movieFileId?: number | null; + relativePath?: string | null; + extension?: string | null; + languageTags?: string[] | null; + title?: string | null; + type?: components["schemas"]["ExtraFileType"]; + }; + /** @enum {string} */ + ExtraFileType: "subtitle" | "metadata" | "other"; + Field: { + /** Format: int32 */ + order?: number; + name?: string | null; + label?: string | null; + unit?: string | null; + helpText?: string | null; + helpTextWarning?: string | null; + helpLink?: string | null; + value?: unknown; + type?: string | null; + advanced?: boolean; + selectOptions?: components["schemas"]["SelectOption"][] | null; + selectOptionsProviderAction?: string | null; + section?: string | null; + hidden?: string | null; + privacy?: components["schemas"]["PrivacyLevel"]; + placeholder?: string | null; + isFloat?: boolean; + }; + /** @enum {string} */ + FileDateType: "none" | "cinemas" | "release"; + /** @enum {string} */ + HealthCheckResult: "ok" | "notice" | "warning" | "error"; + HealthResource: { + /** Format: int32 */ + id?: number; + source?: string | null; + type?: components["schemas"]["HealthCheckResult"]; + message?: string | null; + wikiUrl?: string | null; + }; + HistoryResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + movieId?: number; + sourceTitle?: string | null; + languages?: components["schemas"]["Language"][] | null; + quality?: components["schemas"]["QualityModel"]; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number; + qualityCutoffNotMet?: boolean; + /** Format: date-time */ + date?: string; + downloadId?: string | null; + eventType?: components["schemas"]["MovieHistoryEventType"]; + data?: { + [key: string]: string | null; + } | null; + movie?: components["schemas"]["MovieResource"]; + }; + HistoryResourcePagingResource: { + /** Format: int32 */ + page?: number; + /** Format: int32 */ + pageSize?: number; + sortKey?: string | null; + sortDirection?: components["schemas"]["SortDirection"]; + /** Format: int32 */ + totalRecords?: number; + records?: components["schemas"]["HistoryResource"][] | null; + }; + HostConfigResource: { + /** Format: int32 */ + id?: number; + bindAddress?: string | null; + /** Format: int32 */ + port?: number; + /** Format: int32 */ + sslPort?: number; + enableSsl?: boolean; + launchBrowser?: boolean; + authenticationMethod?: components["schemas"]["AuthenticationType"]; + authenticationRequired?: components["schemas"]["AuthenticationRequiredType"]; + analyticsEnabled?: boolean; + username?: string | null; + password?: string | null; + passwordConfirmation?: string | null; + logLevel?: string | null; + /** Format: int32 */ + logSizeLimit?: number; + consoleLogLevel?: string | null; + branch?: string | null; + apiKey?: string | null; + sslCertPath?: string | null; + sslCertPassword?: string | null; + urlBase?: string | null; + instanceName?: string | null; + applicationUrl?: string | null; + updateAutomatically?: boolean; + updateMechanism?: components["schemas"]["UpdateMechanism"]; + updateScriptPath?: string | null; + proxyEnabled?: boolean; + proxyType?: components["schemas"]["ProxyType"]; + proxyHostname?: string | null; + /** Format: int32 */ + proxyPort?: number; + proxyUsername?: string | null; + proxyPassword?: string | null; + proxyBypassFilter?: string | null; + proxyBypassLocalAddresses?: boolean; + certificateValidation?: components["schemas"]["CertificateValidationType"]; + backupFolder?: string | null; + /** Format: int32 */ + backupInterval?: number; + /** Format: int32 */ + backupRetention?: number; + trustCgnatIpAddresses?: boolean; + }; + ImportListBulkResource: { + ids?: number[] | null; + tags?: number[] | null; + applyTags?: components["schemas"]["ApplyTags"]; + enabled?: boolean | null; + enableAuto?: boolean | null; + rootFolderPath?: string | null; + /** Format: int32 */ + qualityProfileId?: number | null; + minimumAvailability?: components["schemas"]["MovieStatusType"]; + }; + ImportListConfigResource: { + /** Format: int32 */ + id?: number; + listSyncLevel?: string | null; + }; + ImportListExclusionBulkResource: { + ids?: number[] | null; + }; + ImportListExclusionResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + fields?: components["schemas"]["Field"][] | null; + implementationName?: string | null; + implementation?: string | null; + configContract?: string | null; + infoLink?: string | null; + message?: components["schemas"]["ProviderMessage"]; + tags?: number[] | null; + presets?: components["schemas"]["ImportListExclusionResource"][] | null; + /** Format: int32 */ + tmdbId?: number; + movieTitle?: string | null; + /** Format: int32 */ + movieYear?: number; + }; + ImportListExclusionResourcePagingResource: { + /** Format: int32 */ + page?: number; + /** Format: int32 */ + pageSize?: number; + sortKey?: string | null; + sortDirection?: components["schemas"]["SortDirection"]; + /** Format: int32 */ + totalRecords?: number; + records?: components["schemas"]["ImportListExclusionResource"][] | null; + }; + ImportListResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + fields?: components["schemas"]["Field"][] | null; + implementationName?: string | null; + implementation?: string | null; + configContract?: string | null; + infoLink?: string | null; + message?: components["schemas"]["ProviderMessage"]; + tags?: number[] | null; + presets?: components["schemas"]["ImportListResource"][] | null; + enabled?: boolean; + enableAuto?: boolean; + monitor?: components["schemas"]["MonitorTypes"]; + rootFolderPath?: string | null; + /** Format: int32 */ + qualityProfileId?: number; + searchOnAdd?: boolean; + minimumAvailability?: components["schemas"]["MovieStatusType"]; + listType?: components["schemas"]["ImportListType"]; + /** Format: int32 */ + listOrder?: number; + /** Format: date-span */ + minRefreshInterval?: string; + }; + /** @enum {string} */ + ImportListType: "program" | "tmdb" | "trakt" | "plex" | "simkl" | "other" | "advanced"; + ImportRejectionResource: { + reason?: string | null; + type?: components["schemas"]["RejectionType"]; + }; + IndexerBulkResource: { + ids?: number[] | null; + tags?: number[] | null; + applyTags?: components["schemas"]["ApplyTags"]; + enableRss?: boolean | null; + enableAutomaticSearch?: boolean | null; + enableInteractiveSearch?: boolean | null; + /** Format: int32 */ + priority?: number | null; + }; + IndexerConfigResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + minimumAge?: number; + /** Format: int32 */ + maximumSize?: number; + /** Format: int32 */ + retention?: number; + /** Format: int32 */ + rssSyncInterval?: number; + preferIndexerFlags?: boolean; + /** Format: int32 */ + availabilityDelay?: number; + allowHardcodedSubs?: boolean; + whitelistedHardcodedSubs?: string | null; + }; + IndexerFlagResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + readonly nameLower?: string | null; + }; + IndexerResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + fields?: components["schemas"]["Field"][] | null; + implementationName?: string | null; + implementation?: string | null; + configContract?: string | null; + infoLink?: string | null; + message?: components["schemas"]["ProviderMessage"]; + tags?: number[] | null; + presets?: components["schemas"]["IndexerResource"][] | null; + enableRss?: boolean; + enableAutomaticSearch?: boolean; + enableInteractiveSearch?: boolean; + supportsRss?: boolean; + supportsSearch?: boolean; + protocol?: components["schemas"]["DownloadProtocol"]; + /** Format: int32 */ + priority?: number; + /** Format: int32 */ + downloadClientId?: number; + }; + Language: { + /** Format: int32 */ + id?: number; + name?: string | null; + }; + LanguageResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + readonly nameLower?: string | null; + }; + LocalizationLanguageResource: { + identifier?: string | null; + }; + LogFileResource: { + /** Format: int32 */ + id?: number; + filename?: string | null; + /** Format: date-time */ + lastWriteTime?: string; + contentsUrl?: string | null; + downloadUrl?: string | null; + }; + LogResource: { + /** Format: int32 */ + id?: number; + /** Format: date-time */ + time?: string; + exception?: string | null; + exceptionType?: string | null; + level?: string | null; + logger?: string | null; + message?: string | null; + method?: string | null; + }; + LogResourcePagingResource: { + /** Format: int32 */ + page?: number; + /** Format: int32 */ + pageSize?: number; + sortKey?: string | null; + sortDirection?: components["schemas"]["SortDirection"]; + /** Format: int32 */ + totalRecords?: number; + records?: components["schemas"]["LogResource"][] | null; + }; + ManualImportReprocessResource: { + /** Format: int32 */ + id?: number; + path?: string | null; + /** Format: int32 */ + movieId?: number; + movie?: components["schemas"]["MovieResource"]; + quality?: components["schemas"]["QualityModel"]; + languages?: components["schemas"]["Language"][] | null; + releaseGroup?: string | null; + downloadId?: string | null; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number; + /** Format: int32 */ + indexerFlags?: number; + rejections?: components["schemas"]["ImportRejectionResource"][] | null; + }; + ManualImportResource: { + /** Format: int32 */ + id?: number; + path?: string | null; + relativePath?: string | null; + folderName?: string | null; + name?: string | null; + /** Format: int64 */ + size?: number; + movie?: components["schemas"]["MovieResource"]; + /** Format: int32 */ + movieFileId?: number | null; + releaseGroup?: string | null; + quality?: components["schemas"]["QualityModel"]; + languages?: components["schemas"]["Language"][] | null; + /** Format: int32 */ + qualityWeight?: number; + downloadId?: string | null; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number; + /** Format: int32 */ + indexerFlags?: number; + rejections?: components["schemas"]["ImportRejectionResource"][] | null; + }; + MediaCover: { + coverType?: components["schemas"]["MediaCoverTypes"]; + url?: string | null; + remoteUrl?: string | null; + }; + /** @enum {string} */ + MediaCoverTypes: "unknown" | "poster" | "banner" | "fanart" | "screenshot" | "headshot" | "clearlogo"; + MediaInfoResource: { + /** Format: int32 */ + id?: number; + /** Format: int64 */ + audioBitrate?: number; + /** Format: double */ + audioChannels?: number; + audioCodec?: string | null; + audioLanguages?: string | null; + /** Format: int32 */ + audioStreamCount?: number; + /** Format: int32 */ + videoBitDepth?: number; + /** Format: int64 */ + videoBitrate?: number; + videoCodec?: string | null; + /** Format: double */ + videoFps?: number; + videoDynamicRange?: string | null; + videoDynamicRangeType?: string | null; + resolution?: string | null; + runTime?: string | null; + scanType?: string | null; + subtitles?: string | null; + }; + MediaManagementConfigResource: { + /** Format: int32 */ + id?: number; + autoUnmonitorPreviouslyDownloadedMovies?: boolean; + recycleBin?: string | null; + /** Format: int32 */ + recycleBinCleanupDays?: number; + downloadPropersAndRepacks?: components["schemas"]["ProperDownloadTypes"]; + createEmptyMovieFolders?: boolean; + deleteEmptyFolders?: boolean; + fileDate?: components["schemas"]["FileDateType"]; + rescanAfterRefresh?: components["schemas"]["RescanAfterRefreshType"]; + autoRenameFolders?: boolean; + pathsDefaultStatic?: boolean; + setPermissionsLinux?: boolean; + chmodFolder?: string | null; + chownGroup?: string | null; + skipFreeSpaceCheckWhenImporting?: boolean; + /** Format: int32 */ + minimumFreeSpaceWhenImporting?: number; + copyUsingHardlinks?: boolean; + useScriptImport?: boolean; + scriptImportPath?: string | null; + importExtraFiles?: boolean; + extraFileExtensions?: string | null; + enableMediaInfo?: boolean; + }; + MetadataConfigResource: { + /** Format: int32 */ + id?: number; + certificationCountry?: components["schemas"]["TMDbCountryCode"]; + }; + MetadataResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + fields?: components["schemas"]["Field"][] | null; + implementationName?: string | null; + implementation?: string | null; + configContract?: string | null; + infoLink?: string | null; + message?: components["schemas"]["ProviderMessage"]; + tags?: number[] | null; + presets?: components["schemas"]["MetadataResource"][] | null; + enable?: boolean; + }; + /** @enum {string} */ + Modifier: "none" | "regional" | "screener" | "rawhd" | "brdisk" | "remux"; + /** @enum {string} */ + MonitorTypes: "movieOnly" | "movieAndCollection" | "none"; + MovieCollectionResource: { + title?: string | null; + /** Format: int32 */ + tmdbId?: number; + }; + MovieEditorResource: { + movieIds?: number[] | null; + monitored?: boolean | null; + /** Format: int32 */ + qualityProfileId?: number | null; + minimumAvailability?: components["schemas"]["MovieStatusType"]; + rootFolderPath?: string | null; + tags?: number[] | null; + applyTags?: components["schemas"]["ApplyTags"]; + moveFiles?: boolean; + deleteFiles?: boolean; + addImportExclusion?: boolean; + }; + MovieFileListResource: { + movieFileIds?: number[] | null; + languages?: components["schemas"]["Language"][] | null; + quality?: components["schemas"]["QualityModel"]; + edition?: string | null; + releaseGroup?: string | null; + sceneName?: string | null; + /** Format: int32 */ + indexerFlags?: number | null; + }; + MovieFileResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + movieId?: number; + relativePath?: string | null; + path?: string | null; + /** Format: int64 */ + size?: number; + /** Format: date-time */ + dateAdded?: string; + sceneName?: string | null; + releaseGroup?: string | null; + edition?: string | null; + languages?: components["schemas"]["Language"][] | null; + quality?: components["schemas"]["QualityModel"]; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number | null; + /** Format: int32 */ + indexerFlags?: number | null; + mediaInfo?: components["schemas"]["MediaInfoResource"]; + originalFilePath?: string | null; + qualityCutoffNotMet?: boolean; + }; + /** @enum {string} */ + MovieHistoryEventType: "unknown" | "grabbed" | "downloadFolderImported" | "downloadFailed" | "movieFileDeleted" | "movieFolderImported" | "movieFileRenamed" | "downloadIgnored"; + MovieResource: { + /** Format: int32 */ + id?: number; + title?: string | null; + originalTitle?: string | null; + originalLanguage?: components["schemas"]["Language"]; + alternateTitles?: components["schemas"]["AlternativeTitleResource"][] | null; + /** Format: int32 */ + secondaryYear?: number | null; + /** Format: int32 */ + secondaryYearSourceId?: number; + sortTitle?: string | null; + /** Format: int64 */ + sizeOnDisk?: number | null; + status?: components["schemas"]["MovieStatusType"]; + overview?: string | null; + /** Format: date-time */ + inCinemas?: string | null; + /** Format: date-time */ + physicalRelease?: string | null; + /** Format: date-time */ + digitalRelease?: string | null; + /** Format: date-time */ + releaseDate?: string | null; + physicalReleaseNote?: string | null; + images?: components["schemas"]["MediaCover"][] | null; + website?: string | null; + remotePoster?: string | null; + /** Format: int32 */ + year?: number; + youTubeTrailerId?: string | null; + studio?: string | null; + path?: string | null; + /** Format: int32 */ + qualityProfileId?: number; + hasFile?: boolean | null; + /** Format: int32 */ + movieFileId?: number; + monitored?: boolean; + minimumAvailability?: components["schemas"]["MovieStatusType"]; + isAvailable?: boolean; + folderName?: string | null; + /** Format: int32 */ + runtime?: number; + cleanTitle?: string | null; + imdbId?: string | null; + /** Format: int32 */ + tmdbId?: number; + titleSlug?: string | null; + rootFolderPath?: string | null; + folder?: string | null; + certification?: string | null; + genres?: string[] | null; + keywords?: string[] | null; + tags?: number[] | null; + /** Format: date-time */ + added?: string; + addOptions?: components["schemas"]["AddMovieOptions"]; + ratings?: components["schemas"]["Ratings"]; + movieFile?: components["schemas"]["MovieFileResource"]; + collection?: components["schemas"]["MovieCollectionResource"]; + /** Format: float */ + popularity?: number; + /** Format: date-time */ + lastSearchTime?: string | null; + statistics?: components["schemas"]["MovieStatisticsResource"]; + }; + MovieResourcePagingResource: { + /** Format: int32 */ + page?: number; + /** Format: int32 */ + pageSize?: number; + sortKey?: string | null; + sortDirection?: components["schemas"]["SortDirection"]; + /** Format: int32 */ + totalRecords?: number; + records?: components["schemas"]["MovieResource"][] | null; + }; + /** @enum {string} */ + MovieRuntimeFormatType: "hoursMinutes" | "minutes"; + MovieStatisticsResource: { + /** Format: int32 */ + movieFileCount?: number; + /** Format: int64 */ + sizeOnDisk?: number; + releaseGroups?: string[] | null; + }; + /** @enum {string} */ + MovieStatusType: "tba" | "announced" | "inCinemas" | "released" | "deleted"; + NamingConfigResource: { + /** Format: int32 */ + id?: number; + renameMovies?: boolean; + replaceIllegalCharacters?: boolean; + colonReplacementFormat?: components["schemas"]["ColonReplacementFormat"]; + standardMovieFormat?: string | null; + movieFolderFormat?: string | null; + }; + NotificationResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + fields?: components["schemas"]["Field"][] | null; + implementationName?: string | null; + implementation?: string | null; + configContract?: string | null; + infoLink?: string | null; + message?: components["schemas"]["ProviderMessage"]; + tags?: number[] | null; + presets?: components["schemas"]["NotificationResource"][] | null; + link?: string | null; + onGrab?: boolean; + onDownload?: boolean; + onUpgrade?: boolean; + onRename?: boolean; + onMovieAdded?: boolean; + onMovieDelete?: boolean; + onMovieFileDelete?: boolean; + onMovieFileDeleteForUpgrade?: boolean; + onHealthIssue?: boolean; + includeHealthWarnings?: boolean; + onHealthRestored?: boolean; + onApplicationUpdate?: boolean; + onManualInteractionRequired?: boolean; + supportsOnGrab?: boolean; + supportsOnDownload?: boolean; + supportsOnUpgrade?: boolean; + supportsOnRename?: boolean; + supportsOnMovieAdded?: boolean; + supportsOnMovieDelete?: boolean; + supportsOnMovieFileDelete?: boolean; + supportsOnMovieFileDeleteForUpgrade?: boolean; + supportsOnHealthIssue?: boolean; + supportsOnHealthRestored?: boolean; + supportsOnApplicationUpdate?: boolean; + supportsOnManualInteractionRequired?: boolean; + testCommand?: string | null; + }; + ParseResource: { + /** Format: int32 */ + id?: number; + title?: string | null; + parsedMovieInfo?: components["schemas"]["ParsedMovieInfo"]; + movie?: components["schemas"]["MovieResource"]; + languages?: components["schemas"]["Language"][] | null; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number; + }; + ParsedMovieInfo: { + movieTitles?: string[] | null; + originalTitle?: string | null; + releaseTitle?: string | null; + simpleReleaseTitle?: string | null; + quality?: components["schemas"]["QualityModel"]; + languages?: components["schemas"]["Language"][] | null; + releaseGroup?: string | null; + releaseHash?: string | null; + edition?: string | null; + /** Format: int32 */ + year?: number; + imdbId?: string | null; + /** Format: int32 */ + tmdbId?: number; + hardcodedSubs?: string | null; + readonly movieTitle?: string | null; + readonly primaryMovieTitle?: string | null; + }; + PingResource: { + status?: string | null; + }; + /** @enum {string} */ + PrivacyLevel: "normal" | "password" | "apiKey" | "userName"; + ProfileFormatItemResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + format?: number; + name?: string | null; + /** Format: int32 */ + score?: number; + }; + /** @enum {string} */ + ProperDownloadTypes: "preferAndUpgrade" | "doNotUpgrade" | "doNotPrefer"; + ProviderMessage: { + message?: string | null; + type?: components["schemas"]["ProviderMessageType"]; + }; + /** @enum {string} */ + ProviderMessageType: "info" | "warning" | "error"; + /** @enum {string} */ + ProxyType: "http" | "socks4" | "socks5"; + Quality: { + /** Format: int32 */ + id?: number; + name?: string | null; + source?: components["schemas"]["QualitySource"]; + /** Format: int32 */ + resolution?: number; + modifier?: components["schemas"]["Modifier"]; + }; + QualityDefinitionResource: { + /** Format: int32 */ + id?: number; + quality?: components["schemas"]["Quality"]; + title?: string | null; + /** Format: int32 */ + weight?: number; + /** Format: double */ + minSize?: number | null; + /** Format: double */ + maxSize?: number | null; + /** Format: double */ + preferredSize?: number | null; + }; + QualityModel: { + quality?: components["schemas"]["Quality"]; + revision?: components["schemas"]["Revision"]; + }; + QualityProfileQualityItemResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + quality?: components["schemas"]["Quality"]; + items?: components["schemas"]["QualityProfileQualityItemResource"][] | null; + allowed?: boolean; + }; + QualityProfileResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + upgradeAllowed?: boolean; + /** Format: int32 */ + cutoff?: number; + items?: components["schemas"]["QualityProfileQualityItemResource"][] | null; + /** Format: int32 */ + minFormatScore?: number; + /** Format: int32 */ + cutoffFormatScore?: number; + /** Format: int32 */ + minUpgradeFormatScore?: number; + formatItems?: components["schemas"]["ProfileFormatItemResource"][] | null; + language?: components["schemas"]["Language"]; + }; + /** @enum {string} */ + QualitySource: "unknown" | "cam" | "telesync" | "telecine" | "workprint" | "dvd" | "tv" | "webdl" | "webrip" | "bluray"; + QueueBulkResource: { + ids?: number[] | null; + }; + QueueResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + movieId?: number | null; + movie?: components["schemas"]["MovieResource"]; + languages?: components["schemas"]["Language"][] | null; + quality?: components["schemas"]["QualityModel"]; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number; + /** Format: double */ + size?: number; + title?: string | null; + /** Format: date-time */ + estimatedCompletionTime?: string | null; + /** Format: date-time */ + added?: string | null; + status?: components["schemas"]["QueueStatus"]; + trackedDownloadStatus?: components["schemas"]["TrackedDownloadStatus"]; + trackedDownloadState?: components["schemas"]["TrackedDownloadState"]; + statusMessages?: components["schemas"]["TrackedDownloadStatusMessage"][] | null; + errorMessage?: string | null; + downloadId?: string | null; + protocol?: components["schemas"]["DownloadProtocol"]; + downloadClient?: string | null; + downloadClientHasPostImportCategory?: boolean; + indexer?: string | null; + outputPath?: string | null; + /** + * Format: double + * @deprecated + */ + sizeleft?: number; + /** + * Format: date-span + * @deprecated + */ + timeleft?: string | null; + }; + QueueResourcePagingResource: { + /** Format: int32 */ + page?: number; + /** Format: int32 */ + pageSize?: number; + sortKey?: string | null; + sortDirection?: components["schemas"]["SortDirection"]; + /** Format: int32 */ + totalRecords?: number; + records?: components["schemas"]["QueueResource"][] | null; + }; + /** @enum {string} */ + QueueStatus: "unknown" | "queued" | "paused" | "downloading" | "completed" | "failed" | "warning" | "delay" | "downloadClientUnavailable" | "fallback"; + QueueStatusResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + totalCount?: number; + /** Format: int32 */ + count?: number; + /** Format: int32 */ + unknownCount?: number; + errors?: boolean; + warnings?: boolean; + unknownErrors?: boolean; + unknownWarnings?: boolean; + }; + RatingChild: { + /** Format: int32 */ + votes?: number; + /** Format: double */ + value?: number; + type?: components["schemas"]["RatingType"]; + }; + /** @enum {string} */ + RatingType: "user" | "critic"; + Ratings: { + imdb?: components["schemas"]["RatingChild"]; + tmdb?: components["schemas"]["RatingChild"]; + metacritic?: components["schemas"]["RatingChild"]; + rottenTomatoes?: components["schemas"]["RatingChild"]; + trakt?: components["schemas"]["RatingChild"]; + }; + /** @enum {string} */ + RejectionType: "permanent" | "temporary"; + ReleaseProfileResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + enabled?: boolean; + required?: unknown; + ignored?: unknown; + /** Format: int32 */ + indexerId?: number; + tags?: number[] | null; + }; + ReleaseResource: { + /** Format: int32 */ + id?: number; + guid?: string | null; + quality?: components["schemas"]["QualityModel"]; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number; + /** Format: int32 */ + qualityWeight?: number; + /** Format: int32 */ + age?: number; + /** Format: double */ + ageHours?: number; + /** Format: double */ + ageMinutes?: number; + /** Format: int64 */ + size?: number; + /** Format: int32 */ + indexerId?: number; + indexer?: string | null; + releaseGroup?: string | null; + subGroup?: string | null; + releaseHash?: string | null; + title?: string | null; + sceneSource?: boolean; + movieTitles?: string[] | null; + languages?: components["schemas"]["Language"][] | null; + /** Format: int32 */ + mappedMovieId?: number | null; + approved?: boolean; + temporarilyRejected?: boolean; + rejected?: boolean; + /** Format: int32 */ + tmdbId?: number; + /** Format: int32 */ + imdbId?: number; + rejections?: string[] | null; + /** Format: date-time */ + publishDate?: string; + commentUrl?: string | null; + downloadUrl?: string | null; + infoUrl?: string | null; + movieRequested?: boolean; + downloadAllowed?: boolean; + /** Format: int32 */ + releaseWeight?: number; + edition?: string | null; + magnetUrl?: string | null; + infoHash?: string | null; + /** Format: int32 */ + seeders?: number | null; + /** Format: int32 */ + leechers?: number | null; + protocol?: components["schemas"]["DownloadProtocol"]; + indexerFlags?: unknown; + /** Format: int32 */ + movieId?: number | null; + /** Format: int32 */ + downloadClientId?: number | null; + downloadClient?: string | null; + shouldOverride?: boolean | null; + }; + RemotePathMappingResource: { + /** Format: int32 */ + id?: number; + host?: string | null; + remotePath?: string | null; + localPath?: string | null; + }; + RenameMovieResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + movieId?: number; + /** Format: int32 */ + movieFileId?: number; + existingPath?: string | null; + newPath?: string | null; + }; + /** @enum {string} */ + RescanAfterRefreshType: "always" | "afterManual" | "never"; + Revision: { + /** Format: int32 */ + version?: number; + /** Format: int32 */ + real?: number; + isRepack?: boolean; + }; + RootFolderResource: { + /** Format: int32 */ + id?: number; + path?: string | null; + accessible?: boolean; + /** Format: int64 */ + freeSpace?: number | null; + unmappedFolders?: components["schemas"]["UnmappedFolder"][] | null; + }; + /** @enum {string} */ + RuntimeMode: "console" | "service" | "tray"; + SelectOption: { + /** Format: int32 */ + value?: number; + name?: string | null; + /** Format: int32 */ + order?: number; + hint?: string | null; + dividerAfter?: boolean; + }; + /** @enum {string} */ + SortDirection: "default" | "ascending" | "descending"; + /** @enum {string} */ + SourceType: "tmdb" | "mappings" | "user" | "indexer"; + SystemResource: { + appName?: string | null; + instanceName?: string | null; + version?: string | null; + /** Format: date-time */ + buildTime?: string; + isDebug?: boolean; + isProduction?: boolean; + isAdmin?: boolean; + isUserInteractive?: boolean; + startupPath?: string | null; + appData?: string | null; + osName?: string | null; + osVersion?: string | null; + isNetCore?: boolean; + isLinux?: boolean; + isOsx?: boolean; + isWindows?: boolean; + isDocker?: boolean; + mode?: components["schemas"]["RuntimeMode"]; + branch?: string | null; + databaseType?: components["schemas"]["DatabaseType"]; + databaseVersion?: string | null; + authentication?: components["schemas"]["AuthenticationType"]; + /** Format: int32 */ + migrationVersion?: number; + urlBase?: string | null; + runtimeVersion?: string | null; + runtimeName?: string | null; + /** Format: date-time */ + startTime?: string; + packageVersion?: string | null; + packageAuthor?: string | null; + packageUpdateMechanism?: components["schemas"]["UpdateMechanism"]; + packageUpdateMechanismMessage?: string | null; + }; + /** @enum {string} */ + TMDbCountryCode: "au" | "br" | "ca" | "fr" | "de" | "gb" | "in" | "ie" | "it" | "nz" | "ro" | "es" | "us"; + TagDetailsResource: { + /** Format: int32 */ + id?: number; + label?: string | null; + delayProfileIds?: number[] | null; + importListIds?: number[] | null; + notificationIds?: number[] | null; + releaseProfileIds?: number[] | null; + indexerIds?: number[] | null; + downloadClientIds?: number[] | null; + autoTagIds?: number[] | null; + movieIds?: number[] | null; + }; + TagResource: { + /** Format: int32 */ + id?: number; + label?: string | null; + }; + TaskResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + taskName?: string | null; + /** Format: int32 */ + interval?: number; + /** Format: date-time */ + lastExecution?: string; + /** Format: date-time */ + lastStartTime?: string; + /** Format: date-time */ + nextExecution?: string; + /** Format: date-span */ + readonly lastDuration?: string; + }; + /** @enum {string} */ + TrackedDownloadState: "downloading" | "importBlocked" | "importPending" | "importing" | "imported" | "failedPending" | "failed" | "ignored"; + /** @enum {string} */ + TrackedDownloadStatus: "ok" | "warning" | "error"; + TrackedDownloadStatusMessage: { + title?: string | null; + messages?: string[] | null; + }; + UiConfigResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + firstDayOfWeek?: number; + calendarWeekColumnHeader?: string | null; + movieRuntimeFormat?: components["schemas"]["MovieRuntimeFormatType"]; + shortDateFormat?: string | null; + longDateFormat?: string | null; + timeFormat?: string | null; + showRelativeDates?: boolean; + enableColorImpairedMode?: boolean; + /** Format: int32 */ + movieInfoLanguage?: number; + /** Format: int32 */ + uiLanguage?: number; + theme?: string | null; + }; + UnmappedFolder: { + name?: string | null; + path?: string | null; + relativePath?: string | null; + }; + UpdateChanges: { + new?: string[] | null; + fixed?: string[] | null; + }; + /** @enum {string} */ + UpdateMechanism: "builtIn" | "script" | "external" | "apt" | "docker"; + UpdateResource: { + /** Format: int32 */ + id?: number; + version?: string | null; + branch?: string | null; + /** Format: date-time */ + releaseDate?: string; + fileName?: string | null; + url?: string | null; + installed?: boolean; + /** Format: date-time */ + installedOn?: string | null; + installable?: boolean; + latest?: boolean; + changes?: components["schemas"]["UpdateChanges"]; + hash?: string | null; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; diff --git a/src/features/content/apis/radarr.json b/src/features/content/apis/radarr.json new file mode 100644 index 0000000..04fe30f --- /dev/null +++ b/src/features/content/apis/radarr.json @@ -0,0 +1,12181 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Radarr", + "description": "Radarr API docs", + "license": { + "name": "GPL-3.0", + "url": "https://github.com/Radarr/Radarr/blob/develop/LICENSE" + }, + "version": "3.0.0" + }, + "servers": [ + { + "url": "{protocol}://{hostpath}", + "variables": { + "protocol": { + "default": "http", + "enum": ["http", "https"] + }, + "hostpath": { + "default": "localhost:7878" + } + } + } + ], + "paths": { + "/api/v3/alttitle": { + "get": { + "tags": ["AlternativeTitle"], + "parameters": [ + { + "name": "movieId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "movieMetadataId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlternativeTitleResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlternativeTitleResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlternativeTitleResource" + } + } + } + } + } + } + } + }, + "/api/v3/alttitle/{id}": { + "get": { + "tags": ["AlternativeTitle"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AlternativeTitleResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AlternativeTitleResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AlternativeTitleResource" + } + } + } + } + } + } + }, + "/api": { + "get": { + "tags": ["ApiInfo"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiInfoResource" + } + } + } + } + } + } + }, + "/login": { + "post": { + "tags": ["Authentication"], + "parameters": [ + { + "name": "returnUrl", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "rememberMe": { + "type": "string" + } + } + }, + "encoding": { + "username": { + "style": "form" + }, + "password": { + "style": "form" + }, + "rememberMe": { + "style": "form" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["StaticResource"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/logout": { + "get": { + "tags": ["Authentication"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/autotagging": { + "post": { + "tags": ["AutoTagging"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + } + } + } + } + }, + "get": { + "tags": ["AutoTagging"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + } + } + } + } + } + } + }, + "/api/v3/autotagging/{id}": { + "put": { + "tags": ["AutoTagging"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + } + } + } + } + }, + "delete": { + "tags": ["AutoTagging"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["AutoTagging"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + } + } + } + } + } + }, + "/api/v3/autotagging/schema": { + "get": { + "tags": ["AutoTagging"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/backup": { + "get": { + "tags": ["Backup"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BackupResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BackupResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BackupResource" + } + } + } + } + } + } + } + }, + "/api/v3/system/backup/{id}": { + "delete": { + "tags": ["Backup"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/backup/restore/{id}": { + "post": { + "tags": ["Backup"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/backup/restore/upload": { + "post": { + "tags": ["Backup"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/blocklist": { + "get": { + "tags": ["Blocklist"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + }, + { + "name": "movieIds", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "protocols", + "in": "query", + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadProtocol" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlocklistResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/blocklist/movie": { + "get": { + "tags": ["Blocklist"], + "parameters": [ + { + "name": "movieId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BlocklistResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BlocklistResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BlocklistResource" + } + } + } + } + } + } + } + }, + "/api/v3/blocklist/{id}": { + "delete": { + "tags": ["Blocklist"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/blocklist/bulk": { + "delete": { + "tags": ["Blocklist"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlocklistBulkResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/BlocklistBulkResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/BlocklistBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/calendar": { + "get": { + "tags": ["Calendar"], + "parameters": [ + { + "name": "start", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "unmonitored", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "tags", + "in": "query", + "schema": { + "type": "string", + "default": "" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MovieResource" + } + } + } + } + } + } + } + }, + "/feed/v3/calendar/radarr.ics": { + "get": { + "tags": ["CalendarFeed"], + "parameters": [ + { + "name": "pastDays", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 7 + } + }, + { + "name": "futureDays", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 28 + } + }, + { + "name": "tags", + "in": "query", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "unmonitored", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "releaseTypes", + "in": "query", + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CalendarReleaseType" + } + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/collection": { + "get": { + "tags": ["Collection"], + "parameters": [ + { + "name": "tmdbId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CollectionResource" + } + } + } + } + } + } + }, + "put": { + "tags": ["Collection"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CollectionUpdateResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/collection/{id}": { + "put": { + "tags": ["Collection"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CollectionResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CollectionResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CollectionResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CollectionResource" + } + } + } + } + } + }, + "get": { + "tags": ["Collection"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CollectionResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CollectionResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CollectionResource" + } + } + } + } + } + } + }, + "/api/v3/command": { + "post": { + "tags": ["Command"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CommandResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CommandResource" + } + } + } + } + } + }, + "get": { + "tags": ["Command"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommandResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommandResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommandResource" + } + } + } + } + } + } + } + }, + "/api/v3/command/{id}": { + "delete": { + "tags": ["Command"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["Command"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CommandResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CommandResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CommandResource" + } + } + } + } + } + } + }, + "/api/v3/credit": { + "get": { + "tags": ["Credit"], + "parameters": [ + { + "name": "movieId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "movieMetadataId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/credit/{id}": { + "get": { + "tags": ["Credit"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CreditResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreditResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreditResource" + } + } + } + } + } + } + }, + "/api/v3/customfilter": { + "get": { + "tags": ["CustomFilter"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["CustomFilter"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + } + } + } + }, + "/api/v3/customfilter/{id}": { + "put": { + "tags": ["CustomFilter"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + } + } + }, + "delete": { + "tags": ["CustomFilter"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["CustomFilter"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + } + } + } + }, + "/api/v3/customformat": { + "get": { + "tags": ["CustomFormat"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["CustomFormat"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + } + } + } + }, + "/api/v3/customformat/{id}": { + "put": { + "tags": ["CustomFormat"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + } + } + }, + "delete": { + "tags": ["CustomFormat"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["CustomFormat"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + } + } + } + }, + "/api/v3/customformat/bulk": { + "put": { + "tags": ["CustomFormat"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + } + } + }, + "delete": { + "tags": ["CustomFormat"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/customformat/schema": { + "get": { + "tags": ["CustomFormat"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/wanted/cutoff": { + "get": { + "tags": ["Cutoff"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + }, + { + "name": "monitored", + "in": "query", + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/delayprofile": { + "post": { + "tags": ["DelayProfile"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + } + } + }, + "get": { + "tags": ["DelayProfile"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + } + } + } + } + }, + "/api/v3/delayprofile/{id}": { + "delete": { + "tags": ["DelayProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "put": { + "tags": ["DelayProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + } + } + }, + "get": { + "tags": ["DelayProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + } + } + } + }, + "/api/v3/delayprofile/reorder/{id}": { + "put": { + "tags": ["DelayProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "after", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + } + } + } + } + }, + "/api/v3/diskspace": { + "get": { + "tags": ["DiskSpace"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DiskSpaceResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DiskSpaceResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DiskSpaceResource" + } + } + } + } + } + } + } + }, + "/api/v3/downloadclient": { + "get": { + "tags": ["DownloadClient"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["DownloadClient"], + "parameters": [ + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + } + }, + "/api/v3/downloadclient/{id}": { + "put": { + "tags": ["DownloadClient"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + }, + "delete": { + "tags": ["DownloadClient"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["DownloadClient"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + } + }, + "/api/v3/downloadclient/bulk": { + "put": { + "tags": ["DownloadClient"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + }, + "delete": { + "tags": ["DownloadClient"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/downloadclient/schema": { + "get": { + "tags": ["DownloadClient"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + } + } + }, + "/api/v3/downloadclient/test": { + "post": { + "tags": ["DownloadClient"], + "parameters": [ + { + "name": "forceTest", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/downloadclient/testall": { + "post": { + "tags": ["DownloadClient"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/downloadclient/action/{name}": { + "post": { + "tags": ["DownloadClient"], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/config/downloadclient": { + "get": { + "tags": ["DownloadClientConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/downloadclient/{id}": { + "put": { + "tags": ["DownloadClientConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["DownloadClientConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + } + } + } + } + } + }, + "/api/v3/extrafile": { + "get": { + "tags": ["ExtraFile"], + "parameters": [ + { + "name": "movieId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExtraFileResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExtraFileResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExtraFileResource" + } + } + } + } + } + } + } + }, + "/api/v3/filesystem": { + "get": { + "tags": ["FileSystem"], + "parameters": [ + { + "name": "path", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "includeFiles", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "allowFoldersWithoutTrailingSlashes", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/filesystem/type": { + "get": { + "tags": ["FileSystem"], + "parameters": [ + { + "name": "path", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/filesystem/mediafiles": { + "get": { + "tags": ["FileSystem"], + "parameters": [ + { + "name": "path", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/health": { + "get": { + "tags": ["Health"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HealthResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HealthResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HealthResource" + } + } + } + } + } + } + } + }, + "/api/v3/history": { + "get": { + "tags": ["History"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + }, + { + "name": "includeMovie", + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "eventType", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "downloadId", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "movieIds", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "languages", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "quality", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HistoryResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/history/since": { + "get": { + "tags": ["History"], + "parameters": [ + { + "name": "date", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "eventType", + "in": "query", + "schema": { + "$ref": "#/components/schemas/MovieHistoryEventType" + } + }, + { + "name": "includeMovie", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryResource" + } + } + } + } + } + } + } + }, + "/api/v3/history/movie": { + "get": { + "tags": ["History"], + "parameters": [ + { + "name": "movieId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "eventType", + "in": "query", + "schema": { + "$ref": "#/components/schemas/MovieHistoryEventType" + } + }, + { + "name": "includeMovie", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryResource" + } + } + } + } + } + } + } + }, + "/api/v3/history/failed/{id}": { + "post": { + "tags": ["History"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/config/host": { + "get": { + "tags": ["HostConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/host/{id}": { + "put": { + "tags": ["HostConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["HostConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + } + } + } + } + } + }, + "/api/v3/importlist": { + "get": { + "tags": ["ImportList"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["ImportList"], + "parameters": [ + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + } + } + } + }, + "/api/v3/importlist/{id}": { + "put": { + "tags": ["ImportList"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + } + } + }, + "delete": { + "tags": ["ImportList"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["ImportList"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + } + } + } + }, + "/api/v3/importlist/bulk": { + "put": { + "tags": ["ImportList"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + } + } + }, + "delete": { + "tags": ["ImportList"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/importlist/schema": { + "get": { + "tags": ["ImportList"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + } + } + } + } + }, + "/api/v3/importlist/test": { + "post": { + "tags": ["ImportList"], + "parameters": [ + { + "name": "forceTest", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/importlist/testall": { + "post": { + "tags": ["ImportList"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/importlist/action/{name}": { + "post": { + "tags": ["ImportList"], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/config/importlist": { + "get": { + "tags": ["ImportListConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/importlist/{id}": { + "put": { + "tags": ["ImportListConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["ImportListConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + } + } + } + } + } + }, + "/api/v3/exclusions": { + "get": { + "tags": ["ImportListExclusion"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + } + } + } + }, + "deprecated": true + }, + "post": { + "tags": ["ImportListExclusion"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + } + } + } + } + }, + "/api/v3/exclusions/paged": { + "get": { + "tags": ["ImportListExclusion"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/exclusions/{id}": { + "put": { + "tags": ["ImportListExclusion"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + } + } + } + }, + "delete": { + "tags": ["ImportListExclusion"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["ImportListExclusion"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + } + } + } + } + }, + "/api/v3/exclusions/bulk": { + "post": { + "tags": ["ImportListExclusion"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + }, + "application/*+json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + }, + "delete": { + "tags": ["ImportListExclusion"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionBulkResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionBulkResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/importlist/movie": { + "get": { + "tags": ["ImportListMovies"], + "parameters": [ + { + "name": "includeRecommendations", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeTrending", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includePopular", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "post": { + "tags": ["ImportListMovies"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MovieResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MovieResource" + } + } + }, + "application/*+json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MovieResource" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/indexer": { + "get": { + "tags": ["Indexer"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["Indexer"], + "parameters": [ + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + } + }, + "/api/v3/indexer/{id}": { + "put": { + "tags": ["Indexer"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + }, + "delete": { + "tags": ["Indexer"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["Indexer"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + } + }, + "/api/v3/indexer/bulk": { + "put": { + "tags": ["Indexer"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + }, + "delete": { + "tags": ["Indexer"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/indexer/schema": { + "get": { + "tags": ["Indexer"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + } + } + }, + "/api/v3/indexer/test": { + "post": { + "tags": ["Indexer"], + "parameters": [ + { + "name": "forceTest", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/indexer/testall": { + "post": { + "tags": ["Indexer"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/indexer/action/{name}": { + "post": { + "tags": ["Indexer"], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/config/indexer": { + "get": { + "tags": ["IndexerConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/indexer/{id}": { + "put": { + "tags": ["IndexerConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["IndexerConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + } + } + } + } + } + }, + "/api/v3/indexerflag": { + "get": { + "tags": ["IndexerFlag"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerFlagResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerFlagResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerFlagResource" + } + } + } + } + } + } + } + }, + "/api/v3/language": { + "get": { + "tags": ["Language"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LanguageResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LanguageResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LanguageResource" + } + } + } + } + } + } + } + }, + "/api/v3/language/{id}": { + "get": { + "tags": ["Language"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/LanguageResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/LanguageResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/LanguageResource" + } + } + } + } + } + } + }, + "/api/v3/localization": { + "get": { + "tags": ["Localization"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + }, + "application/json": { + "schema": { + "type": "string" + } + }, + "text/json": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/api/v3/localization/language": { + "get": { + "tags": ["Localization"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LocalizationLanguageResource" + } + } + } + } + } + } + }, + "/api/v3/log": { + "get": { + "tags": ["Log"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + }, + { + "name": "level", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LogResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/log/file": { + "get": { + "tags": ["LogFile"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogFileResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogFileResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogFileResource" + } + } + } + } + } + } + } + }, + "/api/v3/log/file/{filename}": { + "get": { + "tags": ["LogFile"], + "parameters": [ + { + "name": "filename", + "in": "path", + "required": true, + "schema": { + "pattern": "[-.a-zA-Z0-9]+?\\.txt", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/manualimport": { + "get": { + "tags": ["ManualImport"], + "parameters": [ + { + "name": "folder", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "downloadId", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "movieId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "filterExistingFiles", + "in": "query", + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ManualImportResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["ManualImport"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ManualImportReprocessResource" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/mediacover/{movieId}/{filename}": { + "get": { + "tags": ["MediaCover"], + "parameters": [ + { + "name": "movieId", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "filename", + "in": "path", + "required": true, + "schema": { + "pattern": "(.+)\\.(jpg|png|gif)", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/config/mediamanagement": { + "get": { + "tags": ["MediaManagementConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/mediamanagement/{id}": { + "put": { + "tags": ["MediaManagementConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["MediaManagementConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + } + } + } + } + } + }, + "/api/v3/metadata": { + "get": { + "tags": ["Metadata"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["Metadata"], + "parameters": [ + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + } + } + } + }, + "/api/v3/metadata/{id}": { + "put": { + "tags": ["Metadata"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + } + } + }, + "delete": { + "tags": ["Metadata"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["Metadata"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + } + } + } + }, + "/api/v3/metadata/schema": { + "get": { + "tags": ["Metadata"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + } + } + } + } + }, + "/api/v3/metadata/test": { + "post": { + "tags": ["Metadata"], + "parameters": [ + { + "name": "forceTest", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/metadata/testall": { + "post": { + "tags": ["Metadata"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/metadata/action/{name}": { + "post": { + "tags": ["Metadata"], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/config/metadata": { + "get": { + "tags": ["MetadataConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/metadata/{id}": { + "put": { + "tags": ["MetadataConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/MetadataConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MetadataConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["MetadataConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/MetadataConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MetadataConfigResource" + } + } + } + } + } + } + }, + "/api/v3/wanted/missing": { + "get": { + "tags": ["Missing"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + }, + { + "name": "monitored", + "in": "query", + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/movie": { + "get": { + "tags": ["Movie"], + "parameters": [ + { + "name": "tmdbId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "excludeLocalCovers", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "languageId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MovieResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MovieResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MovieResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["Movie"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieResource" + } + } + } + } + } + } + }, + "/api/v3/movie/{id}": { + "put": { + "tags": ["Movie"], + "parameters": [ + { + "name": "moveFiles", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieResource" + } + } + } + } + } + }, + "delete": { + "tags": ["Movie"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "deleteFiles", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "addImportExclusion", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["Movie"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/MovieResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MovieResource" + } + } + } + } + } + } + }, + "/api/v3/movie/editor": { + "put": { + "tags": ["MovieEditor"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieEditorResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MovieEditorResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/MovieEditorResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + }, + "delete": { + "tags": ["MovieEditor"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieEditorResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MovieEditorResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/MovieEditorResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/moviefile": { + "get": { + "tags": ["MovieFile"], + "parameters": [ + { + "name": "movieId", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "movieFileIds", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MovieFileResource" + } + } + } + } + } + } + } + }, + "/api/v3/moviefile/{id}": { + "put": { + "tags": ["MovieFile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieFileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/MovieFileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieFileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MovieFileResource" + } + } + } + } + } + }, + "delete": { + "tags": ["MovieFile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["MovieFile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/MovieFileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieFileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MovieFileResource" + } + } + } + } + } + } + }, + "/api/v3/moviefile/editor": { + "put": { + "tags": ["MovieFile"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieFileListResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + }, + "deprecated": true + } + }, + "/api/v3/moviefile/bulk": { + "delete": { + "tags": ["MovieFile"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieFileListResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + }, + "put": { + "tags": ["MovieFile"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MovieFileResource" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/movie/{id}/folder": { + "get": { + "tags": ["MovieFolder"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/movie/import": { + "post": { + "tags": ["MovieImport"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MovieResource" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MovieResource" + } + } + } + } + } + } + } + }, + "/api/v3/movie/lookup/tmdb": { + "get": { + "tags": ["MovieLookup"], + "parameters": [ + { + "name": "tmdbId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieResource" + } + } + } + } + } + } + }, + "/api/v3/movie/lookup/imdb": { + "get": { + "tags": ["MovieLookup"], + "parameters": [ + { + "name": "imdbId", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MovieResource" + } + } + } + } + } + } + }, + "/api/v3/movie/lookup": { + "get": { + "tags": ["MovieLookup"], + "parameters": [ + { + "name": "term", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MovieResource" + } + } + } + } + } + } + } + }, + "/api/v3/config/naming": { + "get": { + "tags": ["NamingConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/naming/{id}": { + "put": { + "tags": ["NamingConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["NamingConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/naming/examples": { + "get": { + "tags": ["NamingConfig"], + "parameters": [ + { + "name": "renameMovies", + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "replaceIllegalCharacters", + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "colonReplacementFormat", + "in": "query", + "schema": { + "$ref": "#/components/schemas/ColonReplacementFormat" + } + }, + { + "name": "standardMovieFormat", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "movieFolderFormat", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "resourceName", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/notification": { + "get": { + "tags": ["Notification"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["Notification"], + "parameters": [ + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + } + }, + "/api/v3/notification/{id}": { + "put": { + "tags": ["Notification"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + }, + "delete": { + "tags": ["Notification"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["Notification"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + } + }, + "/api/v3/notification/schema": { + "get": { + "tags": ["Notification"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + } + } + }, + "/api/v3/notification/test": { + "post": { + "tags": ["Notification"], + "parameters": [ + { + "name": "forceTest", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/notification/testall": { + "post": { + "tags": ["Notification"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/notification/action/{name}": { + "post": { + "tags": ["Notification"], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/parse": { + "get": { + "tags": ["Parse"], + "parameters": [ + { + "name": "title", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ParseResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ParseResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ParseResource" + } + } + } + } + } + } + }, + "/ping": { + "get": { + "tags": ["Ping"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PingResource" + } + } + } + } + } + }, + "head": { + "tags": ["Ping"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PingResource" + } + } + } + } + } + } + }, + "/api/v3/qualitydefinition/{id}": { + "put": { + "tags": ["QualityDefinition"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + } + } + } + }, + "get": { + "tags": ["QualityDefinition"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + } + } + } + } + }, + "/api/v3/qualitydefinition": { + "get": { + "tags": ["QualityDefinition"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + } + } + } + } + } + }, + "/api/v3/qualitydefinition/update": { + "put": { + "tags": ["QualityDefinition"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + }, + "application/*+json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/qualityprofile": { + "post": { + "tags": ["QualityProfile"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + } + } + }, + "get": { + "tags": ["QualityProfile"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + } + } + } + } + }, + "/api/v3/qualityprofile/{id}": { + "delete": { + "tags": ["QualityProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "put": { + "tags": ["QualityProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + } + } + }, + "get": { + "tags": ["QualityProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + } + } + } + }, + "/api/v3/qualityprofile/schema": { + "get": { + "tags": ["QualityProfileSchema"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + } + } + } + }, + "/api/v3/queue/{id}": { + "delete": { + "tags": ["Queue"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "removeFromClient", + "in": "query", + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "blocklist", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "skipRedownload", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "changeCategory", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/queue/bulk": { + "delete": { + "tags": ["Queue"], + "parameters": [ + { + "name": "removeFromClient", + "in": "query", + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "blocklist", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "skipRedownload", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "changeCategory", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueueBulkResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QueueBulkResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/QueueBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/queue": { + "get": { + "tags": ["Queue"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + }, + { + "name": "includeUnknownMovieItems", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeMovie", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "movieIds", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "protocol", + "in": "query", + "schema": { + "$ref": "#/components/schemas/DownloadProtocol" + } + }, + { + "name": "languages", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "quality", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "status", + "in": "query", + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueStatus" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueueResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/queue/grab/{id}": { + "post": { + "tags": ["QueueAction"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/queue/grab/bulk": { + "post": { + "tags": ["QueueAction"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueueBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/queue/details": { + "get": { + "tags": ["QueueDetails"], + "parameters": [ + { + "name": "movieId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "includeMovie", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueResource" + } + } + } + } + } + } + } + }, + "/api/v3/queue/status": { + "get": { + "tags": ["QueueStatus"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/QueueStatusResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueueStatusResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QueueStatusResource" + } + } + } + } + } + } + }, + "/api/v3/release": { + "post": { + "tags": ["Release"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["Release"], + "parameters": [ + { + "name": "movieId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseResource" + } + } + } + } + } + } + } + }, + "/api/v3/releaseprofile": { + "post": { + "tags": ["ReleaseProfile"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + } + } + } + }, + "get": { + "tags": ["ReleaseProfile"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + } + } + } + } + } + }, + "/api/v3/releaseprofile/{id}": { + "delete": { + "tags": ["ReleaseProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "put": { + "tags": ["ReleaseProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + } + } + } + }, + "get": { + "tags": ["ReleaseProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + } + } + } + } + }, + "/api/v3/release/push": { + "post": { + "tags": ["ReleasePush"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseResource" + } + } + } + } + } + } + } + }, + "/api/v3/remotepathmapping": { + "post": { + "tags": ["RemotePathMapping"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + } + } + } + }, + "get": { + "tags": ["RemotePathMapping"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + } + } + } + } + } + }, + "/api/v3/remotepathmapping/{id}": { + "delete": { + "tags": ["RemotePathMapping"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "put": { + "tags": ["RemotePathMapping"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + } + } + } + }, + "get": { + "tags": ["RemotePathMapping"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + } + } + } + } + }, + "/api/v3/rename": { + "get": { + "tags": ["RenameMovie"], + "parameters": [ + { + "name": "movieId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RenameMovieResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RenameMovieResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RenameMovieResource" + } + } + } + } + } + } + } + }, + "/api/v3/rootfolder": { + "post": { + "tags": ["RootFolder"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RootFolderResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RootFolderResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RootFolderResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RootFolderResource" + } + } + } + } + } + }, + "get": { + "tags": ["RootFolder"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RootFolderResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RootFolderResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RootFolderResource" + } + } + } + } + } + } + } + }, + "/api/v3/rootfolder/{id}": { + "delete": { + "tags": ["RootFolder"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["RootFolder"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RootFolderResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RootFolderResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RootFolderResource" + } + } + } + } + } + } + }, + "/content/{path}": { + "get": { + "tags": ["StaticResource"], + "parameters": [ + { + "name": "path", + "in": "path", + "required": true, + "schema": { + "pattern": "^(?!api/).*", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/": { + "get": { + "tags": ["StaticResource"], + "parameters": [ + { + "name": "path", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/{path}": { + "get": { + "tags": ["StaticResource"], + "parameters": [ + { + "name": "path", + "in": "path", + "required": true, + "schema": { + "pattern": "^(?!(api|feed)/).*", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/status": { + "get": { + "tags": ["System"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/SystemResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/SystemResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/SystemResource" + } + } + } + } + } + } + }, + "/api/v3/system/routes": { + "get": { + "tags": ["System"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/routes/duplicate": { + "get": { + "tags": ["System"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/shutdown": { + "post": { + "tags": ["System"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/restart": { + "post": { + "tags": ["System"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/tag": { + "get": { + "tags": ["Tag"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["Tag"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + } + } + } + }, + "/api/v3/tag/{id}": { + "put": { + "tags": ["Tag"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + } + } + }, + "delete": { + "tags": ["Tag"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["Tag"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + } + } + } + }, + "/api/v3/tag/detail": { + "get": { + "tags": ["TagDetails"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagDetailsResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagDetailsResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagDetailsResource" + } + } + } + } + } + } + } + }, + "/api/v3/tag/detail/{id}": { + "get": { + "tags": ["TagDetails"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TagDetailsResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagDetailsResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TagDetailsResource" + } + } + } + } + } + } + }, + "/api/v3/system/task": { + "get": { + "tags": ["Task"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TaskResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TaskResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TaskResource" + } + } + } + } + } + } + } + }, + "/api/v3/system/task/{id}": { + "get": { + "tags": ["Task"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TaskResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TaskResource" + } + } + } + } + } + } + }, + "/api/v3/config/ui/{id}": { + "put": { + "tags": ["UiConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["UiConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/ui": { + "get": { + "tags": ["UiConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + } + } + } + } + } + }, + "/api/v3/update": { + "get": { + "tags": ["Update"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UpdateResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UpdateResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UpdateResource" + } + } + } + } + } + } + } + }, + "/api/v3/log/file/update": { + "get": { + "tags": ["UpdateLogFile"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogFileResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogFileResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogFileResource" + } + } + } + } + } + } + } + }, + "/api/v3/log/file/update/{filename}": { + "get": { + "tags": ["UpdateLogFile"], + "parameters": [ + { + "name": "filename", + "in": "path", + "required": true, + "schema": { + "pattern": "[-.a-zA-Z0-9]+?\\.txt", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + } + }, + "components": { + "schemas": { + "AddMovieMethod": { + "enum": ["manual", "list", "collection"], + "type": "string" + }, + "AddMovieOptions": { + "type": "object", + "properties": { + "ignoreEpisodesWithFiles": { + "type": "boolean" + }, + "ignoreEpisodesWithoutFiles": { + "type": "boolean" + }, + "monitor": { + "$ref": "#/components/schemas/MonitorTypes" + }, + "searchForMovie": { + "type": "boolean" + }, + "addMethod": { + "$ref": "#/components/schemas/AddMovieMethod" + } + }, + "additionalProperties": false + }, + "AlternativeTitleResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "sourceType": { + "$ref": "#/components/schemas/SourceType" + }, + "movieMetadataId": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string", + "nullable": true + }, + "cleanTitle": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ApiInfoResource": { + "type": "object", + "properties": { + "current": { + "type": "string", + "nullable": true + }, + "deprecated": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ApplyTags": { + "enum": ["add", "remove", "replace"], + "type": "string" + }, + "AuthenticationRequiredType": { + "enum": ["enabled", "disabledForLocalAddresses"], + "type": "string" + }, + "AuthenticationType": { + "enum": ["none", "basic", "forms", "external"], + "type": "string" + }, + "AutoTaggingResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "removeTagsAutomatically": { + "type": "boolean" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "specifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AutoTaggingSpecificationSchema" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "AutoTaggingSpecificationSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "negate": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "BackupResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "path": { + "type": "string", + "nullable": true + }, + "type": { + "$ref": "#/components/schemas/BackupType" + }, + "size": { + "type": "integer", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false + }, + "BackupType": { + "enum": ["scheduled", "manual", "update"], + "type": "string" + }, + "BlocklistBulkResource": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "BlocklistResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "movieId": { + "type": "integer", + "format": "int32" + }, + "sourceTitle": { + "type": "string", + "nullable": true + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "date": { + "type": "string", + "format": "date-time" + }, + "protocol": { + "$ref": "#/components/schemas/DownloadProtocol" + }, + "indexer": { + "type": "string", + "nullable": true + }, + "message": { + "type": "string", + "nullable": true + }, + "movie": { + "$ref": "#/components/schemas/MovieResource" + } + }, + "additionalProperties": false + }, + "BlocklistResourcePagingResource": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "sortKey": { + "type": "string", + "nullable": true + }, + "sortDirection": { + "$ref": "#/components/schemas/SortDirection" + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BlocklistResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "CalendarReleaseType": { + "enum": ["cinemaRelease", "digitalRelease", "physicalRelease"], + "type": "string" + }, + "CertificateValidationType": { + "enum": ["enabled", "disabledForLocalAddresses", "disabled"], + "type": "string" + }, + "CollectionMovieResource": { + "type": "object", + "properties": { + "tmdbId": { + "type": "integer", + "format": "int32" + }, + "imdbId": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string", + "nullable": true + }, + "cleanTitle": { + "type": "string", + "nullable": true + }, + "sortTitle": { + "type": "string", + "nullable": true + }, + "status": { + "$ref": "#/components/schemas/MovieStatusType" + }, + "overview": { + "type": "string", + "nullable": true + }, + "runtime": { + "type": "integer", + "format": "int32" + }, + "images": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaCover" + }, + "nullable": true + }, + "year": { + "type": "integer", + "format": "int32" + }, + "ratings": { + "$ref": "#/components/schemas/Ratings" + }, + "genres": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "folder": { + "type": "string", + "nullable": true + }, + "isExisting": { + "type": "boolean" + }, + "isExcluded": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "CollectionResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string", + "nullable": true + }, + "sortTitle": { + "type": "string", + "nullable": true + }, + "tmdbId": { + "type": "integer", + "format": "int32" + }, + "images": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaCover" + }, + "nullable": true + }, + "overview": { + "type": "string", + "nullable": true + }, + "monitored": { + "type": "boolean" + }, + "rootFolderPath": { + "type": "string", + "nullable": true + }, + "qualityProfileId": { + "type": "integer", + "format": "int32" + }, + "searchOnAdd": { + "type": "boolean" + }, + "minimumAvailability": { + "$ref": "#/components/schemas/MovieStatusType" + }, + "movies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CollectionMovieResource" + }, + "nullable": true + }, + "missingMovies": { + "type": "integer", + "format": "int32" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "CollectionUpdateResource": { + "type": "object", + "properties": { + "collectionIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "monitored": { + "type": "boolean", + "nullable": true + }, + "monitorMovies": { + "type": "boolean", + "nullable": true + }, + "searchOnAdd": { + "type": "boolean", + "nullable": true + }, + "qualityProfileId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "rootFolderPath": { + "type": "string", + "nullable": true + }, + "minimumAvailability": { + "$ref": "#/components/schemas/MovieStatusType" + } + }, + "additionalProperties": false + }, + "ColonReplacementFormat": { + "enum": ["delete", "dash", "spaceDash", "spaceDashSpace", "smart"], + "type": "string" + }, + "Command": { + "type": "object", + "properties": { + "sendUpdatesToClient": { + "type": "boolean" + }, + "updateScheduledTask": { + "type": "boolean", + "readOnly": true + }, + "completionMessage": { + "type": "string", + "nullable": true, + "readOnly": true + }, + "requiresDiskAccess": { + "type": "boolean", + "readOnly": true + }, + "isExclusive": { + "type": "boolean", + "readOnly": true + }, + "isTypeExclusive": { + "type": "boolean", + "readOnly": true + }, + "isLongRunning": { + "type": "boolean", + "readOnly": true + }, + "name": { + "type": "string", + "nullable": true, + "readOnly": true + }, + "lastExecutionTime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "lastStartTime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "trigger": { + "$ref": "#/components/schemas/CommandTrigger" + }, + "suppressMessages": { + "type": "boolean" + }, + "clientUserAgent": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "CommandPriority": { + "enum": ["normal", "high", "low"], + "type": "string" + }, + "CommandResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "commandName": { + "type": "string", + "nullable": true + }, + "message": { + "type": "string", + "nullable": true + }, + "body": { + "$ref": "#/components/schemas/Command" + }, + "priority": { + "$ref": "#/components/schemas/CommandPriority" + }, + "status": { + "$ref": "#/components/schemas/CommandStatus" + }, + "result": { + "$ref": "#/components/schemas/CommandResult" + }, + "queued": { + "type": "string", + "format": "date-time" + }, + "started": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ended": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "duration": { + "type": "string", + "format": "date-span", + "nullable": true + }, + "exception": { + "type": "string", + "nullable": true + }, + "trigger": { + "$ref": "#/components/schemas/CommandTrigger" + }, + "clientUserAgent": { + "type": "string", + "nullable": true + }, + "stateChangeTime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "sendUpdatesToClient": { + "type": "boolean" + }, + "updateScheduledTask": { + "type": "boolean" + }, + "lastExecutionTime": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "additionalProperties": false + }, + "CommandResult": { + "enum": ["unknown", "successful", "unsuccessful"], + "type": "string" + }, + "CommandStatus": { + "enum": [ + "queued", + "started", + "completed", + "failed", + "aborted", + "cancelled", + "orphaned" + ], + "type": "string" + }, + "CommandTrigger": { + "enum": ["unspecified", "manual", "scheduled"], + "type": "string" + }, + "CreditResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "personName": { + "type": "string", + "nullable": true + }, + "creditTmdbId": { + "type": "string", + "nullable": true + }, + "personTmdbId": { + "type": "integer", + "format": "int32" + }, + "movieMetadataId": { + "type": "integer", + "format": "int32" + }, + "images": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaCover" + }, + "nullable": true + }, + "department": { + "type": "string", + "nullable": true + }, + "job": { + "type": "string", + "nullable": true + }, + "character": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "format": "int32" + }, + "type": { + "$ref": "#/components/schemas/CreditType" + } + }, + "additionalProperties": false + }, + "CreditType": { + "enum": ["cast", "crew"], + "type": "string" + }, + "CustomFilterResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string", + "nullable": true + }, + "label": { + "type": "string", + "nullable": true + }, + "filters": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": {} + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "CustomFormatBulkResource": { + "type": "object", + "properties": { + "ids": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "includeCustomFormatWhenRenaming": { + "type": "boolean", + "nullable": true + } + }, + "additionalProperties": false + }, + "CustomFormatResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "includeCustomFormatWhenRenaming": { + "type": "boolean", + "nullable": true + }, + "specifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatSpecificationSchema" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "CustomFormatSpecificationSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "infoLink": { + "type": "string", + "nullable": true + }, + "negate": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "presets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatSpecificationSchema" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "DatabaseType": { + "enum": ["sqLite", "postgreSQL"], + "type": "string" + }, + "DelayProfileResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "enableUsenet": { + "type": "boolean" + }, + "enableTorrent": { + "type": "boolean" + }, + "preferredProtocol": { + "$ref": "#/components/schemas/DownloadProtocol" + }, + "usenetDelay": { + "type": "integer", + "format": "int32" + }, + "torrentDelay": { + "type": "integer", + "format": "int32" + }, + "bypassIfHighestQuality": { + "type": "boolean" + }, + "bypassIfAboveCustomFormatScore": { + "type": "boolean" + }, + "minimumCustomFormatScore": { + "type": "integer", + "format": "int32" + }, + "order": { + "type": "integer", + "format": "int32" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "DiskSpaceResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "path": { + "type": "string", + "nullable": true + }, + "label": { + "type": "string", + "nullable": true + }, + "freeSpace": { + "type": "integer", + "format": "int64" + }, + "totalSpace": { + "type": "integer", + "format": "int64" + } + }, + "additionalProperties": false + }, + "DownloadClientBulkResource": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "applyTags": { + "$ref": "#/components/schemas/ApplyTags" + }, + "enable": { + "type": "boolean", + "nullable": true + }, + "priority": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "removeCompletedDownloads": { + "type": "boolean", + "nullable": true + }, + "removeFailedDownloads": { + "type": "boolean", + "nullable": true + } + }, + "additionalProperties": false + }, + "DownloadClientConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "downloadClientWorkingFolders": { + "type": "string", + "nullable": true + }, + "enableCompletedDownloadHandling": { + "type": "boolean" + }, + "checkForFinishedDownloadInterval": { + "type": "integer", + "format": "int32" + }, + "autoRedownloadFailed": { + "type": "boolean" + }, + "autoRedownloadFailedFromInteractiveSearch": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "DownloadClientResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "configContract": { + "type": "string", + "nullable": true + }, + "infoLink": { + "type": "string", + "nullable": true + }, + "message": { + "$ref": "#/components/schemas/ProviderMessage" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "presets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadClientResource" + }, + "nullable": true + }, + "enable": { + "type": "boolean" + }, + "protocol": { + "$ref": "#/components/schemas/DownloadProtocol" + }, + "priority": { + "type": "integer", + "format": "int32" + }, + "removeCompletedDownloads": { + "type": "boolean" + }, + "removeFailedDownloads": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "DownloadProtocol": { + "enum": ["unknown", "usenet", "torrent"], + "type": "string" + }, + "ExtraFileResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "movieId": { + "type": "integer", + "format": "int32" + }, + "movieFileId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "relativePath": { + "type": "string", + "nullable": true + }, + "extension": { + "type": "string", + "nullable": true + }, + "languageTags": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "title": { + "type": "string", + "nullable": true + }, + "type": { + "$ref": "#/components/schemas/ExtraFileType" + } + }, + "additionalProperties": false + }, + "ExtraFileType": { + "enum": ["subtitle", "metadata", "other"], + "type": "string" + }, + "Field": { + "type": "object", + "properties": { + "order": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "label": { + "type": "string", + "nullable": true + }, + "unit": { + "type": "string", + "nullable": true + }, + "helpText": { + "type": "string", + "nullable": true + }, + "helpTextWarning": { + "type": "string", + "nullable": true + }, + "helpLink": { + "type": "string", + "nullable": true + }, + "value": { + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + }, + "advanced": { + "type": "boolean" + }, + "selectOptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SelectOption" + }, + "nullable": true + }, + "selectOptionsProviderAction": { + "type": "string", + "nullable": true + }, + "section": { + "type": "string", + "nullable": true + }, + "hidden": { + "type": "string", + "nullable": true + }, + "privacy": { + "$ref": "#/components/schemas/PrivacyLevel" + }, + "placeholder": { + "type": "string", + "nullable": true + }, + "isFloat": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "FileDateType": { + "enum": ["none", "cinemas", "release"], + "type": "string" + }, + "HealthCheckResult": { + "enum": ["ok", "notice", "warning", "error"], + "type": "string" + }, + "HealthResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "source": { + "type": "string", + "nullable": true + }, + "type": { + "$ref": "#/components/schemas/HealthCheckResult" + }, + "message": { + "type": "string", + "nullable": true + }, + "wikiUrl": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "HistoryResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "movieId": { + "type": "integer", + "format": "int32" + }, + "sourceTitle": { + "type": "string", + "nullable": true + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32" + }, + "qualityCutoffNotMet": { + "type": "boolean" + }, + "date": { + "type": "string", + "format": "date-time" + }, + "downloadId": { + "type": "string", + "nullable": true + }, + "eventType": { + "$ref": "#/components/schemas/MovieHistoryEventType" + }, + "data": { + "type": "object", + "additionalProperties": { + "type": "string", + "nullable": true + }, + "nullable": true + }, + "movie": { + "$ref": "#/components/schemas/MovieResource" + } + }, + "additionalProperties": false + }, + "HistoryResourcePagingResource": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "sortKey": { + "type": "string", + "nullable": true + }, + "sortDirection": { + "$ref": "#/components/schemas/SortDirection" + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "HostConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "bindAddress": { + "type": "string", + "nullable": true + }, + "port": { + "type": "integer", + "format": "int32" + }, + "sslPort": { + "type": "integer", + "format": "int32" + }, + "enableSsl": { + "type": "boolean" + }, + "launchBrowser": { + "type": "boolean" + }, + "authenticationMethod": { + "$ref": "#/components/schemas/AuthenticationType" + }, + "authenticationRequired": { + "$ref": "#/components/schemas/AuthenticationRequiredType" + }, + "analyticsEnabled": { + "type": "boolean" + }, + "username": { + "type": "string", + "nullable": true + }, + "password": { + "type": "string", + "nullable": true + }, + "passwordConfirmation": { + "type": "string", + "nullable": true + }, + "logLevel": { + "type": "string", + "nullable": true + }, + "logSizeLimit": { + "type": "integer", + "format": "int32" + }, + "consoleLogLevel": { + "type": "string", + "nullable": true + }, + "branch": { + "type": "string", + "nullable": true + }, + "apiKey": { + "type": "string", + "nullable": true + }, + "sslCertPath": { + "type": "string", + "nullable": true + }, + "sslCertPassword": { + "type": "string", + "nullable": true + }, + "urlBase": { + "type": "string", + "nullable": true + }, + "instanceName": { + "type": "string", + "nullable": true + }, + "applicationUrl": { + "type": "string", + "nullable": true + }, + "updateAutomatically": { + "type": "boolean" + }, + "updateMechanism": { + "$ref": "#/components/schemas/UpdateMechanism" + }, + "updateScriptPath": { + "type": "string", + "nullable": true + }, + "proxyEnabled": { + "type": "boolean" + }, + "proxyType": { + "$ref": "#/components/schemas/ProxyType" + }, + "proxyHostname": { + "type": "string", + "nullable": true + }, + "proxyPort": { + "type": "integer", + "format": "int32" + }, + "proxyUsername": { + "type": "string", + "nullable": true + }, + "proxyPassword": { + "type": "string", + "nullable": true + }, + "proxyBypassFilter": { + "type": "string", + "nullable": true + }, + "proxyBypassLocalAddresses": { + "type": "boolean" + }, + "certificateValidation": { + "$ref": "#/components/schemas/CertificateValidationType" + }, + "backupFolder": { + "type": "string", + "nullable": true + }, + "backupInterval": { + "type": "integer", + "format": "int32" + }, + "backupRetention": { + "type": "integer", + "format": "int32" + }, + "trustCgnatIpAddresses": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "ImportListBulkResource": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "applyTags": { + "$ref": "#/components/schemas/ApplyTags" + }, + "enabled": { + "type": "boolean", + "nullable": true + }, + "enableAuto": { + "type": "boolean", + "nullable": true + }, + "rootFolderPath": { + "type": "string", + "nullable": true + }, + "qualityProfileId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "minimumAvailability": { + "$ref": "#/components/schemas/MovieStatusType" + } + }, + "additionalProperties": false + }, + "ImportListConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "listSyncLevel": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ImportListExclusionBulkResource": { + "type": "object", + "properties": { + "ids": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ImportListExclusionResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "configContract": { + "type": "string", + "nullable": true + }, + "infoLink": { + "type": "string", + "nullable": true + }, + "message": { + "$ref": "#/components/schemas/ProviderMessage" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "presets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListExclusionResource" + }, + "nullable": true + }, + "tmdbId": { + "type": "integer", + "format": "int32" + }, + "movieTitle": { + "type": "string", + "nullable": true + }, + "movieYear": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ImportListExclusionResourcePagingResource": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "sortKey": { + "type": "string", + "nullable": true + }, + "sortDirection": { + "$ref": "#/components/schemas/SortDirection" + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListExclusionResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ImportListResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "configContract": { + "type": "string", + "nullable": true + }, + "infoLink": { + "type": "string", + "nullable": true + }, + "message": { + "$ref": "#/components/schemas/ProviderMessage" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "presets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListResource" + }, + "nullable": true + }, + "enabled": { + "type": "boolean" + }, + "enableAuto": { + "type": "boolean" + }, + "monitor": { + "$ref": "#/components/schemas/MonitorTypes" + }, + "rootFolderPath": { + "type": "string", + "nullable": true + }, + "qualityProfileId": { + "type": "integer", + "format": "int32" + }, + "searchOnAdd": { + "type": "boolean" + }, + "minimumAvailability": { + "$ref": "#/components/schemas/MovieStatusType" + }, + "listType": { + "$ref": "#/components/schemas/ImportListType" + }, + "listOrder": { + "type": "integer", + "format": "int32" + }, + "minRefreshInterval": { + "type": "string", + "format": "date-span" + } + }, + "additionalProperties": false + }, + "ImportListType": { + "enum": [ + "program", + "tmdb", + "trakt", + "plex", + "simkl", + "other", + "advanced" + ], + "type": "string" + }, + "ImportRejectionResource": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "nullable": true + }, + "type": { + "$ref": "#/components/schemas/RejectionType" + } + }, + "additionalProperties": false + }, + "IndexerBulkResource": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "applyTags": { + "$ref": "#/components/schemas/ApplyTags" + }, + "enableRss": { + "type": "boolean", + "nullable": true + }, + "enableAutomaticSearch": { + "type": "boolean", + "nullable": true + }, + "enableInteractiveSearch": { + "type": "boolean", + "nullable": true + }, + "priority": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "additionalProperties": false + }, + "IndexerConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "minimumAge": { + "type": "integer", + "format": "int32" + }, + "maximumSize": { + "type": "integer", + "format": "int32" + }, + "retention": { + "type": "integer", + "format": "int32" + }, + "rssSyncInterval": { + "type": "integer", + "format": "int32" + }, + "preferIndexerFlags": { + "type": "boolean" + }, + "availabilityDelay": { + "type": "integer", + "format": "int32" + }, + "allowHardcodedSubs": { + "type": "boolean" + }, + "whitelistedHardcodedSubs": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "IndexerFlagResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "nameLower": { + "type": "string", + "nullable": true, + "readOnly": true + } + }, + "additionalProperties": false + }, + "IndexerResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "configContract": { + "type": "string", + "nullable": true + }, + "infoLink": { + "type": "string", + "nullable": true + }, + "message": { + "$ref": "#/components/schemas/ProviderMessage" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "presets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerResource" + }, + "nullable": true + }, + "enableRss": { + "type": "boolean" + }, + "enableAutomaticSearch": { + "type": "boolean" + }, + "enableInteractiveSearch": { + "type": "boolean" + }, + "supportsRss": { + "type": "boolean" + }, + "supportsSearch": { + "type": "boolean" + }, + "protocol": { + "$ref": "#/components/schemas/DownloadProtocol" + }, + "priority": { + "type": "integer", + "format": "int32" + }, + "downloadClientId": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "Language": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LanguageResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "nameLower": { + "type": "string", + "nullable": true, + "readOnly": true + } + }, + "additionalProperties": false + }, + "LocalizationLanguageResource": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LogFileResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "filename": { + "type": "string", + "nullable": true + }, + "lastWriteTime": { + "type": "string", + "format": "date-time" + }, + "contentsUrl": { + "type": "string", + "nullable": true + }, + "downloadUrl": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LogResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "exception": { + "type": "string", + "nullable": true + }, + "exceptionType": { + "type": "string", + "nullable": true + }, + "level": { + "type": "string", + "nullable": true + }, + "logger": { + "type": "string", + "nullable": true + }, + "message": { + "type": "string", + "nullable": true + }, + "method": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LogResourcePagingResource": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "sortKey": { + "type": "string", + "nullable": true + }, + "sortDirection": { + "$ref": "#/components/schemas/SortDirection" + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ManualImportReprocessResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "path": { + "type": "string", + "nullable": true + }, + "movieId": { + "type": "integer", + "format": "int32" + }, + "movie": { + "$ref": "#/components/schemas/MovieResource" + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "releaseGroup": { + "type": "string", + "nullable": true + }, + "downloadId": { + "type": "string", + "nullable": true + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32" + }, + "indexerFlags": { + "type": "integer", + "format": "int32" + }, + "rejections": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportRejectionResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ManualImportResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "path": { + "type": "string", + "nullable": true + }, + "relativePath": { + "type": "string", + "nullable": true + }, + "folderName": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "size": { + "type": "integer", + "format": "int64" + }, + "movie": { + "$ref": "#/components/schemas/MovieResource" + }, + "movieFileId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "releaseGroup": { + "type": "string", + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "qualityWeight": { + "type": "integer", + "format": "int32" + }, + "downloadId": { + "type": "string", + "nullable": true + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32" + }, + "indexerFlags": { + "type": "integer", + "format": "int32" + }, + "rejections": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportRejectionResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "MediaCover": { + "type": "object", + "properties": { + "coverType": { + "$ref": "#/components/schemas/MediaCoverTypes" + }, + "url": { + "type": "string", + "nullable": true + }, + "remoteUrl": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "MediaCoverTypes": { + "enum": [ + "unknown", + "poster", + "banner", + "fanart", + "screenshot", + "headshot", + "clearlogo" + ], + "type": "string" + }, + "MediaInfoResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "audioBitrate": { + "type": "integer", + "format": "int64" + }, + "audioChannels": { + "type": "number", + "format": "double" + }, + "audioCodec": { + "type": "string", + "nullable": true + }, + "audioLanguages": { + "type": "string", + "nullable": true + }, + "audioStreamCount": { + "type": "integer", + "format": "int32" + }, + "videoBitDepth": { + "type": "integer", + "format": "int32" + }, + "videoBitrate": { + "type": "integer", + "format": "int64" + }, + "videoCodec": { + "type": "string", + "nullable": true + }, + "videoFps": { + "type": "number", + "format": "double" + }, + "videoDynamicRange": { + "type": "string", + "nullable": true + }, + "videoDynamicRangeType": { + "type": "string", + "nullable": true + }, + "resolution": { + "type": "string", + "nullable": true + }, + "runTime": { + "type": "string", + "nullable": true + }, + "scanType": { + "type": "string", + "nullable": true + }, + "subtitles": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "MediaManagementConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "autoUnmonitorPreviouslyDownloadedMovies": { + "type": "boolean" + }, + "recycleBin": { + "type": "string", + "nullable": true + }, + "recycleBinCleanupDays": { + "type": "integer", + "format": "int32" + }, + "downloadPropersAndRepacks": { + "$ref": "#/components/schemas/ProperDownloadTypes" + }, + "createEmptyMovieFolders": { + "type": "boolean" + }, + "deleteEmptyFolders": { + "type": "boolean" + }, + "fileDate": { + "$ref": "#/components/schemas/FileDateType" + }, + "rescanAfterRefresh": { + "$ref": "#/components/schemas/RescanAfterRefreshType" + }, + "autoRenameFolders": { + "type": "boolean" + }, + "pathsDefaultStatic": { + "type": "boolean" + }, + "setPermissionsLinux": { + "type": "boolean" + }, + "chmodFolder": { + "type": "string", + "nullable": true + }, + "chownGroup": { + "type": "string", + "nullable": true + }, + "skipFreeSpaceCheckWhenImporting": { + "type": "boolean" + }, + "minimumFreeSpaceWhenImporting": { + "type": "integer", + "format": "int32" + }, + "copyUsingHardlinks": { + "type": "boolean" + }, + "useScriptImport": { + "type": "boolean" + }, + "scriptImportPath": { + "type": "string", + "nullable": true + }, + "importExtraFiles": { + "type": "boolean" + }, + "extraFileExtensions": { + "type": "string", + "nullable": true + }, + "enableMediaInfo": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "MetadataConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "certificationCountry": { + "$ref": "#/components/schemas/TMDbCountryCode" + } + }, + "additionalProperties": false + }, + "MetadataResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "configContract": { + "type": "string", + "nullable": true + }, + "infoLink": { + "type": "string", + "nullable": true + }, + "message": { + "$ref": "#/components/schemas/ProviderMessage" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "presets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetadataResource" + }, + "nullable": true + }, + "enable": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "Modifier": { + "enum": ["none", "regional", "screener", "rawhd", "brdisk", "remux"], + "type": "string" + }, + "MonitorTypes": { + "enum": ["movieOnly", "movieAndCollection", "none"], + "type": "string" + }, + "MovieCollectionResource": { + "type": "object", + "properties": { + "title": { + "type": "string", + "nullable": true + }, + "tmdbId": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "MovieEditorResource": { + "type": "object", + "properties": { + "movieIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "monitored": { + "type": "boolean", + "nullable": true + }, + "qualityProfileId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "minimumAvailability": { + "$ref": "#/components/schemas/MovieStatusType" + }, + "rootFolderPath": { + "type": "string", + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "applyTags": { + "$ref": "#/components/schemas/ApplyTags" + }, + "moveFiles": { + "type": "boolean" + }, + "deleteFiles": { + "type": "boolean" + }, + "addImportExclusion": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "MovieFileListResource": { + "type": "object", + "properties": { + "movieFileIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "edition": { + "type": "string", + "nullable": true + }, + "releaseGroup": { + "type": "string", + "nullable": true + }, + "sceneName": { + "type": "string", + "nullable": true + }, + "indexerFlags": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "additionalProperties": false + }, + "MovieFileResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "movieId": { + "type": "integer", + "format": "int32" + }, + "relativePath": { + "type": "string", + "nullable": true + }, + "path": { + "type": "string", + "nullable": true + }, + "size": { + "type": "integer", + "format": "int64" + }, + "dateAdded": { + "type": "string", + "format": "date-time" + }, + "sceneName": { + "type": "string", + "nullable": true + }, + "releaseGroup": { + "type": "string", + "nullable": true + }, + "edition": { + "type": "string", + "nullable": true + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "indexerFlags": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "mediaInfo": { + "$ref": "#/components/schemas/MediaInfoResource" + }, + "originalFilePath": { + "type": "string", + "nullable": true + }, + "qualityCutoffNotMet": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "MovieHistoryEventType": { + "enum": [ + "unknown", + "grabbed", + "downloadFolderImported", + "downloadFailed", + "movieFileDeleted", + "movieFolderImported", + "movieFileRenamed", + "downloadIgnored" + ], + "type": "string" + }, + "MovieResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string", + "nullable": true + }, + "originalTitle": { + "type": "string", + "nullable": true + }, + "originalLanguage": { + "$ref": "#/components/schemas/Language" + }, + "alternateTitles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlternativeTitleResource" + }, + "nullable": true + }, + "secondaryYear": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "secondaryYearSourceId": { + "type": "integer", + "format": "int32" + }, + "sortTitle": { + "type": "string", + "nullable": true + }, + "sizeOnDisk": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "status": { + "$ref": "#/components/schemas/MovieStatusType" + }, + "overview": { + "type": "string", + "nullable": true + }, + "inCinemas": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "physicalRelease": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "digitalRelease": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "releaseDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "physicalReleaseNote": { + "type": "string", + "nullable": true + }, + "images": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaCover" + }, + "nullable": true + }, + "website": { + "type": "string", + "nullable": true + }, + "remotePoster": { + "type": "string", + "nullable": true + }, + "year": { + "type": "integer", + "format": "int32" + }, + "youTubeTrailerId": { + "type": "string", + "nullable": true + }, + "studio": { + "type": "string", + "nullable": true + }, + "path": { + "type": "string", + "nullable": true + }, + "qualityProfileId": { + "type": "integer", + "format": "int32" + }, + "hasFile": { + "type": "boolean", + "nullable": true + }, + "movieFileId": { + "type": "integer", + "format": "int32" + }, + "monitored": { + "type": "boolean" + }, + "minimumAvailability": { + "$ref": "#/components/schemas/MovieStatusType" + }, + "isAvailable": { + "type": "boolean" + }, + "folderName": { + "type": "string", + "nullable": true + }, + "runtime": { + "type": "integer", + "format": "int32" + }, + "cleanTitle": { + "type": "string", + "nullable": true + }, + "imdbId": { + "type": "string", + "nullable": true + }, + "tmdbId": { + "type": "integer", + "format": "int32" + }, + "titleSlug": { + "type": "string", + "nullable": true + }, + "rootFolderPath": { + "type": "string", + "nullable": true + }, + "folder": { + "type": "string", + "nullable": true + }, + "certification": { + "type": "string", + "nullable": true + }, + "genres": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "keywords": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "added": { + "type": "string", + "format": "date-time" + }, + "addOptions": { + "$ref": "#/components/schemas/AddMovieOptions" + }, + "ratings": { + "$ref": "#/components/schemas/Ratings" + }, + "movieFile": { + "$ref": "#/components/schemas/MovieFileResource" + }, + "collection": { + "$ref": "#/components/schemas/MovieCollectionResource" + }, + "popularity": { + "type": "number", + "format": "float" + }, + "lastSearchTime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "statistics": { + "$ref": "#/components/schemas/MovieStatisticsResource" + } + }, + "additionalProperties": false + }, + "MovieResourcePagingResource": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "sortKey": { + "type": "string", + "nullable": true + }, + "sortDirection": { + "$ref": "#/components/schemas/SortDirection" + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MovieResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "MovieRuntimeFormatType": { + "enum": ["hoursMinutes", "minutes"], + "type": "string" + }, + "MovieStatisticsResource": { + "type": "object", + "properties": { + "movieFileCount": { + "type": "integer", + "format": "int32" + }, + "sizeOnDisk": { + "type": "integer", + "format": "int64" + }, + "releaseGroups": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "MovieStatusType": { + "enum": ["tba", "announced", "inCinemas", "released", "deleted"], + "type": "string" + }, + "NamingConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "renameMovies": { + "type": "boolean" + }, + "replaceIllegalCharacters": { + "type": "boolean" + }, + "colonReplacementFormat": { + "$ref": "#/components/schemas/ColonReplacementFormat" + }, + "standardMovieFormat": { + "type": "string", + "nullable": true + }, + "movieFolderFormat": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "NotificationResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "configContract": { + "type": "string", + "nullable": true + }, + "infoLink": { + "type": "string", + "nullable": true + }, + "message": { + "$ref": "#/components/schemas/ProviderMessage" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "presets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationResource" + }, + "nullable": true + }, + "link": { + "type": "string", + "nullable": true + }, + "onGrab": { + "type": "boolean" + }, + "onDownload": { + "type": "boolean" + }, + "onUpgrade": { + "type": "boolean" + }, + "onRename": { + "type": "boolean" + }, + "onMovieAdded": { + "type": "boolean" + }, + "onMovieDelete": { + "type": "boolean" + }, + "onMovieFileDelete": { + "type": "boolean" + }, + "onMovieFileDeleteForUpgrade": { + "type": "boolean" + }, + "onHealthIssue": { + "type": "boolean" + }, + "includeHealthWarnings": { + "type": "boolean" + }, + "onHealthRestored": { + "type": "boolean" + }, + "onApplicationUpdate": { + "type": "boolean" + }, + "onManualInteractionRequired": { + "type": "boolean" + }, + "supportsOnGrab": { + "type": "boolean" + }, + "supportsOnDownload": { + "type": "boolean" + }, + "supportsOnUpgrade": { + "type": "boolean" + }, + "supportsOnRename": { + "type": "boolean" + }, + "supportsOnMovieAdded": { + "type": "boolean" + }, + "supportsOnMovieDelete": { + "type": "boolean" + }, + "supportsOnMovieFileDelete": { + "type": "boolean" + }, + "supportsOnMovieFileDeleteForUpgrade": { + "type": "boolean" + }, + "supportsOnHealthIssue": { + "type": "boolean" + }, + "supportsOnHealthRestored": { + "type": "boolean" + }, + "supportsOnApplicationUpdate": { + "type": "boolean" + }, + "supportsOnManualInteractionRequired": { + "type": "boolean" + }, + "testCommand": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ParseResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string", + "nullable": true + }, + "parsedMovieInfo": { + "$ref": "#/components/schemas/ParsedMovieInfo" + }, + "movie": { + "$ref": "#/components/schemas/MovieResource" + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ParsedMovieInfo": { + "type": "object", + "properties": { + "movieTitles": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "originalTitle": { + "type": "string", + "nullable": true + }, + "releaseTitle": { + "type": "string", + "nullable": true + }, + "simpleReleaseTitle": { + "type": "string", + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "releaseGroup": { + "type": "string", + "nullable": true + }, + "releaseHash": { + "type": "string", + "nullable": true + }, + "edition": { + "type": "string", + "nullable": true + }, + "year": { + "type": "integer", + "format": "int32" + }, + "imdbId": { + "type": "string", + "nullable": true + }, + "tmdbId": { + "type": "integer", + "format": "int32" + }, + "hardcodedSubs": { + "type": "string", + "nullable": true + }, + "movieTitle": { + "type": "string", + "nullable": true, + "readOnly": true + }, + "primaryMovieTitle": { + "type": "string", + "nullable": true, + "readOnly": true + } + }, + "additionalProperties": false + }, + "PingResource": { + "type": "object", + "properties": { + "status": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "PrivacyLevel": { + "enum": ["normal", "password", "apiKey", "userName"], + "type": "string" + }, + "ProfileFormatItemResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "format": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "score": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ProperDownloadTypes": { + "enum": ["preferAndUpgrade", "doNotUpgrade", "doNotPrefer"], + "type": "string" + }, + "ProviderMessage": { + "type": "object", + "properties": { + "message": { + "type": "string", + "nullable": true + }, + "type": { + "$ref": "#/components/schemas/ProviderMessageType" + } + }, + "additionalProperties": false + }, + "ProviderMessageType": { + "enum": ["info", "warning", "error"], + "type": "string" + }, + "ProxyType": { + "enum": ["http", "socks4", "socks5"], + "type": "string" + }, + "Quality": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "source": { + "$ref": "#/components/schemas/QualitySource" + }, + "resolution": { + "type": "integer", + "format": "int32" + }, + "modifier": { + "$ref": "#/components/schemas/Modifier" + } + }, + "additionalProperties": false + }, + "QualityDefinitionResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "quality": { + "$ref": "#/components/schemas/Quality" + }, + "title": { + "type": "string", + "nullable": true + }, + "weight": { + "type": "integer", + "format": "int32" + }, + "minSize": { + "type": "number", + "format": "double", + "nullable": true + }, + "maxSize": { + "type": "number", + "format": "double", + "nullable": true + }, + "preferredSize": { + "type": "number", + "format": "double", + "nullable": true + } + }, + "additionalProperties": false + }, + "QualityModel": { + "type": "object", + "properties": { + "quality": { + "$ref": "#/components/schemas/Quality" + }, + "revision": { + "$ref": "#/components/schemas/Revision" + } + }, + "additionalProperties": false + }, + "QualityProfileQualityItemResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/Quality" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityProfileQualityItemResource" + }, + "nullable": true + }, + "allowed": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "QualityProfileResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "upgradeAllowed": { + "type": "boolean" + }, + "cutoff": { + "type": "integer", + "format": "int32" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityProfileQualityItemResource" + }, + "nullable": true + }, + "minFormatScore": { + "type": "integer", + "format": "int32" + }, + "cutoffFormatScore": { + "type": "integer", + "format": "int32" + }, + "minUpgradeFormatScore": { + "type": "integer", + "format": "int32" + }, + "formatItems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProfileFormatItemResource" + }, + "nullable": true + }, + "language": { + "$ref": "#/components/schemas/Language" + } + }, + "additionalProperties": false + }, + "QualitySource": { + "enum": [ + "unknown", + "cam", + "telesync", + "telecine", + "workprint", + "dvd", + "tv", + "webdl", + "webrip", + "bluray" + ], + "type": "string" + }, + "QueueBulkResource": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "QueueResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "movieId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "movie": { + "$ref": "#/components/schemas/MovieResource" + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32" + }, + "size": { + "type": "number", + "format": "double" + }, + "title": { + "type": "string", + "nullable": true + }, + "estimatedCompletionTime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "added": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "status": { + "$ref": "#/components/schemas/QueueStatus" + }, + "trackedDownloadStatus": { + "$ref": "#/components/schemas/TrackedDownloadStatus" + }, + "trackedDownloadState": { + "$ref": "#/components/schemas/TrackedDownloadState" + }, + "statusMessages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TrackedDownloadStatusMessage" + }, + "nullable": true + }, + "errorMessage": { + "type": "string", + "nullable": true + }, + "downloadId": { + "type": "string", + "nullable": true + }, + "protocol": { + "$ref": "#/components/schemas/DownloadProtocol" + }, + "downloadClient": { + "type": "string", + "nullable": true + }, + "downloadClientHasPostImportCategory": { + "type": "boolean" + }, + "indexer": { + "type": "string", + "nullable": true + }, + "outputPath": { + "type": "string", + "nullable": true + }, + "sizeleft": { + "type": "number", + "format": "double", + "deprecated": true + }, + "timeleft": { + "type": "string", + "format": "date-span", + "nullable": true, + "deprecated": true + } + }, + "additionalProperties": false + }, + "QueueResourcePagingResource": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "sortKey": { + "type": "string", + "nullable": true + }, + "sortDirection": { + "$ref": "#/components/schemas/SortDirection" + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "QueueStatus": { + "enum": [ + "unknown", + "queued", + "paused", + "downloading", + "completed", + "failed", + "warning", + "delay", + "downloadClientUnavailable", + "fallback" + ], + "type": "string" + }, + "QueueStatusResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "totalCount": { + "type": "integer", + "format": "int32" + }, + "count": { + "type": "integer", + "format": "int32" + }, + "unknownCount": { + "type": "integer", + "format": "int32" + }, + "errors": { + "type": "boolean" + }, + "warnings": { + "type": "boolean" + }, + "unknownErrors": { + "type": "boolean" + }, + "unknownWarnings": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "RatingChild": { + "type": "object", + "properties": { + "votes": { + "type": "integer", + "format": "int32" + }, + "value": { + "type": "number", + "format": "double" + }, + "type": { + "$ref": "#/components/schemas/RatingType" + } + }, + "additionalProperties": false + }, + "RatingType": { + "enum": ["user", "critic"], + "type": "string" + }, + "Ratings": { + "type": "object", + "properties": { + "imdb": { + "$ref": "#/components/schemas/RatingChild" + }, + "tmdb": { + "$ref": "#/components/schemas/RatingChild" + }, + "metacritic": { + "$ref": "#/components/schemas/RatingChild" + }, + "rottenTomatoes": { + "$ref": "#/components/schemas/RatingChild" + }, + "trakt": { + "$ref": "#/components/schemas/RatingChild" + } + }, + "additionalProperties": false + }, + "RejectionType": { + "enum": ["permanent", "temporary"], + "type": "string" + }, + "ReleaseProfileResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "enabled": { + "type": "boolean" + }, + "required": { + "nullable": true + }, + "ignored": { + "nullable": true + }, + "indexerId": { + "type": "integer", + "format": "int32" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ReleaseResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "guid": { + "type": "string", + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32" + }, + "qualityWeight": { + "type": "integer", + "format": "int32" + }, + "age": { + "type": "integer", + "format": "int32" + }, + "ageHours": { + "type": "number", + "format": "double" + }, + "ageMinutes": { + "type": "number", + "format": "double" + }, + "size": { + "type": "integer", + "format": "int64" + }, + "indexerId": { + "type": "integer", + "format": "int32" + }, + "indexer": { + "type": "string", + "nullable": true + }, + "releaseGroup": { + "type": "string", + "nullable": true + }, + "subGroup": { + "type": "string", + "nullable": true + }, + "releaseHash": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string", + "nullable": true + }, + "sceneSource": { + "type": "boolean" + }, + "movieTitles": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "mappedMovieId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "approved": { + "type": "boolean" + }, + "temporarilyRejected": { + "type": "boolean" + }, + "rejected": { + "type": "boolean" + }, + "tmdbId": { + "type": "integer", + "format": "int32" + }, + "imdbId": { + "type": "integer", + "format": "int32" + }, + "rejections": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "publishDate": { + "type": "string", + "format": "date-time" + }, + "commentUrl": { + "type": "string", + "nullable": true + }, + "downloadUrl": { + "type": "string", + "nullable": true + }, + "infoUrl": { + "type": "string", + "nullable": true + }, + "movieRequested": { + "type": "boolean" + }, + "downloadAllowed": { + "type": "boolean" + }, + "releaseWeight": { + "type": "integer", + "format": "int32" + }, + "edition": { + "type": "string", + "nullable": true + }, + "magnetUrl": { + "type": "string", + "nullable": true + }, + "infoHash": { + "type": "string", + "nullable": true + }, + "seeders": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "leechers": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "protocol": { + "$ref": "#/components/schemas/DownloadProtocol" + }, + "indexerFlags": { + "nullable": true + }, + "movieId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "downloadClientId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "downloadClient": { + "type": "string", + "nullable": true + }, + "shouldOverride": { + "type": "boolean", + "nullable": true + } + }, + "additionalProperties": false + }, + "RemotePathMappingResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "host": { + "type": "string", + "nullable": true + }, + "remotePath": { + "type": "string", + "nullable": true + }, + "localPath": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "RenameMovieResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "movieId": { + "type": "integer", + "format": "int32" + }, + "movieFileId": { + "type": "integer", + "format": "int32" + }, + "existingPath": { + "type": "string", + "nullable": true + }, + "newPath": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "RescanAfterRefreshType": { + "enum": ["always", "afterManual", "never"], + "type": "string" + }, + "Revision": { + "type": "object", + "properties": { + "version": { + "type": "integer", + "format": "int32" + }, + "real": { + "type": "integer", + "format": "int32" + }, + "isRepack": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "RootFolderResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "path": { + "type": "string", + "nullable": true + }, + "accessible": { + "type": "boolean" + }, + "freeSpace": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "unmappedFolders": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UnmappedFolder" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "RuntimeMode": { + "enum": ["console", "service", "tray"], + "type": "string" + }, + "SelectOption": { + "type": "object", + "properties": { + "value": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "format": "int32" + }, + "hint": { + "type": "string", + "nullable": true + }, + "dividerAfter": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "SortDirection": { + "enum": ["default", "ascending", "descending"], + "type": "string" + }, + "SourceType": { + "enum": ["tmdb", "mappings", "user", "indexer"], + "type": "string" + }, + "SystemResource": { + "type": "object", + "properties": { + "appName": { + "type": "string", + "nullable": true + }, + "instanceName": { + "type": "string", + "nullable": true + }, + "version": { + "type": "string", + "nullable": true + }, + "buildTime": { + "type": "string", + "format": "date-time" + }, + "isDebug": { + "type": "boolean" + }, + "isProduction": { + "type": "boolean" + }, + "isAdmin": { + "type": "boolean" + }, + "isUserInteractive": { + "type": "boolean" + }, + "startupPath": { + "type": "string", + "nullable": true + }, + "appData": { + "type": "string", + "nullable": true + }, + "osName": { + "type": "string", + "nullable": true + }, + "osVersion": { + "type": "string", + "nullable": true + }, + "isNetCore": { + "type": "boolean" + }, + "isLinux": { + "type": "boolean" + }, + "isOsx": { + "type": "boolean" + }, + "isWindows": { + "type": "boolean" + }, + "isDocker": { + "type": "boolean" + }, + "mode": { + "$ref": "#/components/schemas/RuntimeMode" + }, + "branch": { + "type": "string", + "nullable": true + }, + "databaseType": { + "$ref": "#/components/schemas/DatabaseType" + }, + "databaseVersion": { + "type": "string", + "nullable": true + }, + "authentication": { + "$ref": "#/components/schemas/AuthenticationType" + }, + "migrationVersion": { + "type": "integer", + "format": "int32" + }, + "urlBase": { + "type": "string", + "nullable": true + }, + "runtimeVersion": { + "type": "string", + "nullable": true + }, + "runtimeName": { + "type": "string", + "nullable": true + }, + "startTime": { + "type": "string", + "format": "date-time" + }, + "packageVersion": { + "type": "string", + "nullable": true + }, + "packageAuthor": { + "type": "string", + "nullable": true + }, + "packageUpdateMechanism": { + "$ref": "#/components/schemas/UpdateMechanism" + }, + "packageUpdateMechanismMessage": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "TMDbCountryCode": { + "enum": [ + "au", + "br", + "ca", + "fr", + "de", + "gb", + "in", + "ie", + "it", + "nz", + "ro", + "es", + "us" + ], + "type": "string" + }, + "TagDetailsResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "label": { + "type": "string", + "nullable": true + }, + "delayProfileIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "importListIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "notificationIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "releaseProfileIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "indexerIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "downloadClientIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "autoTagIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "movieIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "TagResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "label": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "TaskResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "taskName": { + "type": "string", + "nullable": true + }, + "interval": { + "type": "integer", + "format": "int32" + }, + "lastExecution": { + "type": "string", + "format": "date-time" + }, + "lastStartTime": { + "type": "string", + "format": "date-time" + }, + "nextExecution": { + "type": "string", + "format": "date-time" + }, + "lastDuration": { + "type": "string", + "format": "date-span", + "readOnly": true + } + }, + "additionalProperties": false + }, + "TrackedDownloadState": { + "enum": [ + "downloading", + "importBlocked", + "importPending", + "importing", + "imported", + "failedPending", + "failed", + "ignored" + ], + "type": "string" + }, + "TrackedDownloadStatus": { + "enum": ["ok", "warning", "error"], + "type": "string" + }, + "TrackedDownloadStatusMessage": { + "type": "object", + "properties": { + "title": { + "type": "string", + "nullable": true + }, + "messages": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "UiConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "firstDayOfWeek": { + "type": "integer", + "format": "int32" + }, + "calendarWeekColumnHeader": { + "type": "string", + "nullable": true + }, + "movieRuntimeFormat": { + "$ref": "#/components/schemas/MovieRuntimeFormatType" + }, + "shortDateFormat": { + "type": "string", + "nullable": true + }, + "longDateFormat": { + "type": "string", + "nullable": true + }, + "timeFormat": { + "type": "string", + "nullable": true + }, + "showRelativeDates": { + "type": "boolean" + }, + "enableColorImpairedMode": { + "type": "boolean" + }, + "movieInfoLanguage": { + "type": "integer", + "format": "int32" + }, + "uiLanguage": { + "type": "integer", + "format": "int32" + }, + "theme": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "UnmappedFolder": { + "type": "object", + "properties": { + "name": { + "type": "string", + "nullable": true + }, + "path": { + "type": "string", + "nullable": true + }, + "relativePath": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "UpdateChanges": { + "type": "object", + "properties": { + "new": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "fixed": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "UpdateMechanism": { + "enum": ["builtIn", "script", "external", "apt", "docker"], + "type": "string" + }, + "UpdateResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "version": { + "type": "string", + "nullable": true + }, + "branch": { + "type": "string", + "nullable": true + }, + "releaseDate": { + "type": "string", + "format": "date-time" + }, + "fileName": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string", + "nullable": true + }, + "installed": { + "type": "boolean" + }, + "installedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "installable": { + "type": "boolean" + }, + "latest": { + "type": "boolean" + }, + "changes": { + "$ref": "#/components/schemas/UpdateChanges" + }, + "hash": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + } + }, + "securitySchemes": { + "X-Api-Key": { + "type": "apiKey", + "description": "Apikey passed as header", + "name": "X-Api-Key", + "in": "header" + }, + "apikey": { + "type": "apiKey", + "description": "Apikey passed as query parameter", + "name": "apikey", + "in": "query" + } + } + }, + "security": [ + { + "X-Api-Key": [] + }, + { + "apikey": [] + } + ] +} diff --git a/src/features/content/apis/radarr.ts b/src/features/content/apis/radarr.ts new file mode 100644 index 0000000..5d3cc41 --- /dev/null +++ b/src/features/content/apis/radarr.ts @@ -0,0 +1,49 @@ +import type { paths } from "./radarr.generated"; +import { query } from "@solidjs/router"; +import createClient from "openapi-fetch"; + +const getBaseUrl = () => { + "use server"; + + return process.env.RADARR_BASE_URL; +}; + +const getClient = () => { + "use server"; + + return createClient({ + baseUrl: getBaseUrl(), + headers: { + "X-Api-Key": `${process.env.RADARR_API_KEY}`, + "Content-Type": 'application/json;', + }, + }); +}; + +export const get = query(async () => { + "use server"; + + const { data, error } = await getClient().GET('/api/v3/movie'); + + return data; +}, 'radarr.get'); + +export const addMovie = query(async (id: string) => { + "use server"; + + const { data, error } = await getClient().POST('/api/v3/movie', { + body: { + + }, + }); + + return data; +}, 'radarr.get'); + +export const listIds = query(async () => { + "use server"; + + const { data, error } = await getClient().GET('/api/v3/movie'); + + return Object.fromEntries(data?.map(({ id, tmdbId }) => ([ `m${tmdbId}`, { radarr: id } ] as const)) ?? []); +}, 'radarr.listIds'); \ No newline at end of file diff --git a/src/features/content/apis/sonarr.ts b/src/features/content/apis/sonarr.ts new file mode 100644 index 0000000..2482e00 --- /dev/null +++ b/src/features/content/apis/sonarr.ts @@ -0,0 +1,57 @@ +import type { paths as v3Paths } from "./sonarr.v3.generated"; +import type { paths as v5Paths } from "./sonarr.v5.generated"; +import { query } from "@solidjs/router"; +import createClient from "openapi-fetch"; + +const getBaseUrl = () => { + "use server"; + + return process.env.SONARR_BASE_URL; +}; + +const getClient = () => { + "use server"; + + return createClient({ + baseUrl: getBaseUrl(), + headers: { + "X-Api-Key": `${process.env.SONARR_API_KEY}`, + "Content-Type": 'application/json;', + }, + }); +}; + +export const TEST = query(async () => { + "use server"; + + const { data } = await getClient().GET('/api/v3/series', { + params: { + query: { + } + } + }); + + return data; +}, 'sonarr.TEST'); + +export const getByTmdbId = query(async (id: string) => { + "use server"; + + const { data } = await getClient().GET('/api/v3/series/lookup', { + params: { + query: { + term: `tmdb:${id}` + } + } + }); + + return data?.[0]; +}, 'sonarr.getByTmdbId'); + +export const listIds = query(async () => { + "use server"; + + const { data, error } = await getClient().GET('/api/v3/series'); + + return Object.fromEntries(data?.map(({ id, tmdbId }) => ([ `s${tmdbId}`, { sonarr: id } ] as const)) ?? []); +}, 'sonarr.listIds'); \ No newline at end of file diff --git a/src/features/content/apis/sonarr.v3.generated.ts b/src/features/content/apis/sonarr.v3.generated.ts new file mode 100644 index 0000000..602c74e --- /dev/null +++ b/src/features/content/apis/sonarr.v3.generated.ts @@ -0,0 +1,9216 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/api": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: { + returnUrl?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + username?: string; + password?: string; + rememberMe?: string; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/logout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/autotagging": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AutoTaggingResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["AutoTaggingResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["AutoTaggingResource"]; + "application/json": components["schemas"]["AutoTaggingResource"]; + "text/json": components["schemas"]["AutoTaggingResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/autotagging/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AutoTaggingResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["AutoTaggingResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["AutoTaggingResource"]; + "application/json": components["schemas"]["AutoTaggingResource"]; + "text/json": components["schemas"]["AutoTaggingResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/autotagging/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/backup": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BackupResource"][]; + "application/json": components["schemas"]["BackupResource"][]; + "text/json": components["schemas"]["BackupResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/backup/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/backup/restore/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/backup/restore/upload": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/blocklist": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + seriesIds?: number[]; + protocols?: components["schemas"]["DownloadProtocol"][]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BlocklistResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/blocklist/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/blocklist/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["BlocklistBulkResource"]; + "text/json": components["schemas"]["BlocklistBulkResource"]; + "application/*+json": components["schemas"]["BlocklistBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/calendar": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + start?: string; + end?: string; + unmonitored?: boolean; + includeSeries?: boolean; + includeEpisodeFile?: boolean; + includeEpisodeImages?: boolean; + tags?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["EpisodeResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/calendar/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["EpisodeResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/feed/v3/calendar/sonarr.ics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pastDays?: number; + futureDays?: number; + tags?: string; + unmonitored?: boolean; + premieresOnly?: boolean; + asAllDay?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/command": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CommandResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CommandResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CommandResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/command/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CommandResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/customfilter": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomFilterResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomFilterResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CustomFilterResource"]; + "application/json": components["schemas"]["CustomFilterResource"]; + "text/json": components["schemas"]["CustomFilterResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/customfilter/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomFilterResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomFilterResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CustomFilterResource"]; + "application/json": components["schemas"]["CustomFilterResource"]; + "text/json": components["schemas"]["CustomFilterResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/customformat": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomFormatResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomFormatResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CustomFormatResource"]; + "application/json": components["schemas"]["CustomFormatResource"]; + "text/json": components["schemas"]["CustomFormatResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/customformat/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomFormatResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomFormatResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CustomFormatResource"]; + "application/json": components["schemas"]["CustomFormatResource"]; + "text/json": components["schemas"]["CustomFormatResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/customformat/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomFormatBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomFormatResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomFormatBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/customformat/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/wanted/cutoff": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + includeSeries?: boolean; + includeEpisodeFile?: boolean; + includeImages?: boolean; + monitored?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["EpisodeResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/wanted/cutoff/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["EpisodeResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/delayprofile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DelayProfileResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DelayProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DelayProfileResource"]; + "application/json": components["schemas"]["DelayProfileResource"]; + "text/json": components["schemas"]["DelayProfileResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/delayprofile/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DelayProfileResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DelayProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DelayProfileResource"]; + "application/json": components["schemas"]["DelayProfileResource"]; + "text/json": components["schemas"]["DelayProfileResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/delayprofile/reorder/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: { + after?: number; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DelayProfileResource"][]; + "application/json": components["schemas"]["DelayProfileResource"][]; + "text/json": components["schemas"]["DelayProfileResource"][]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/diskspace": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DiskSpaceResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient/test": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + forceTest?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient/testall": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/downloadclient/action/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/downloadclient": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/downloadclient/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DownloadClientConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DownloadClientConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DownloadClientConfigResource"]; + "application/json": components["schemas"]["DownloadClientConfigResource"]; + "text/json": components["schemas"]["DownloadClientConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/episode": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + seriesId?: number; + seasonNumber?: number; + episodeIds?: number[]; + episodeFileId?: number; + includeSeries?: boolean; + includeEpisodeFile?: boolean; + includeImages?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["EpisodeResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/episode/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["EpisodeResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["EpisodeResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["EpisodeResource"]; + "application/json": components["schemas"]["EpisodeResource"]; + "text/json": components["schemas"]["EpisodeResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/episode/monitor": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: { + includeImages?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["EpisodesMonitoredResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/episodefile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + seriesId?: number; + episodeFileIds?: number[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["EpisodeFileResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/episodefile/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["EpisodeFileResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["EpisodeFileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["EpisodeFileResource"]; + "application/json": components["schemas"]["EpisodeFileResource"]; + "text/json": components["schemas"]["EpisodeFileResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/episodefile/editor": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["EpisodeFileListResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/episodefile/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["EpisodeFileResource"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["EpisodeFileListResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/filesystem": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + path?: string; + includeFiles?: boolean; + allowFoldersWithoutTrailingSlashes?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/filesystem/type": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + path?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/filesystem/mediafiles": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + path?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/health": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HealthResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/history": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + includeSeries?: boolean; + includeEpisode?: boolean; + eventType?: number[]; + episodeId?: number; + downloadId?: string; + seriesIds?: number[]; + languages?: number[]; + quality?: number[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HistoryResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/history/since": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + date?: string; + eventType?: components["schemas"]["EpisodeHistoryEventType"]; + includeSeries?: boolean; + includeEpisode?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HistoryResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/history/series": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + seriesId?: number; + seasonNumber?: number; + eventType?: components["schemas"]["EpisodeHistoryEventType"]; + includeSeries?: boolean; + includeEpisode?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HistoryResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/history/failed/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/host": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["HostConfigResource"]; + "application/json": components["schemas"]["HostConfigResource"]; + "text/json": components["schemas"]["HostConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/host/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HostConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["HostConfigResource"]; + "text/json": components["schemas"]["HostConfigResource"]; + "application/*+json": components["schemas"]["HostConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["HostConfigResource"]; + "application/json": components["schemas"]["HostConfigResource"]; + "text/json": components["schemas"]["HostConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist/test": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + forceTest?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist/testall": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlist/action/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/importlist": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/importlist/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ImportListConfigResource"]; + "application/json": components["schemas"]["ImportListConfigResource"]; + "text/json": components["schemas"]["ImportListConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlistexclusion": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @deprecated */ + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListExclusionResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListExclusionResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ImportListExclusionResource"]; + "application/json": components["schemas"]["ImportListExclusionResource"]; + "text/json": components["schemas"]["ImportListExclusionResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlistexclusion/paged": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListExclusionResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlistexclusion/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportListExclusionResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListExclusionResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ImportListExclusionResource"]; + "application/json": components["schemas"]["ImportListExclusionResource"]; + "text/json": components["schemas"]["ImportListExclusionResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/importlistexclusion/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ImportListExclusionBulkResource"]; + "text/json": components["schemas"]["ImportListExclusionBulkResource"]; + "application/*+json": components["schemas"]["ImportListExclusionBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer/test": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + forceTest?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer/testall": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexer/action/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/indexer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/indexer/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexerConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["IndexerConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IndexerConfigResource"]; + "application/json": components["schemas"]["IndexerConfigResource"]; + "text/json": components["schemas"]["IndexerConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/indexerflag": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IndexerFlagResource"][]; + "application/json": components["schemas"]["IndexerFlagResource"][]; + "text/json": components["schemas"]["IndexerFlagResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/language": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["LanguageResource"][]; + "application/json": components["schemas"]["LanguageResource"][]; + "text/json": components["schemas"]["LanguageResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/language/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LanguageResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/languageprofile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @deprecated */ + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LanguageProfileResource"][]; + }; + }; + }; + }; + put?: never; + /** @deprecated */ + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["LanguageProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LanguageProfileResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/languageprofile/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LanguageProfileResource"]; + }; + }; + }; + }; + /** @deprecated */ + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["LanguageProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LanguageProfileResource"]; + }; + }; + }; + }; + post?: never; + /** @deprecated */ + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/languageprofile/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @deprecated */ + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LanguageProfileResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/localization": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LocalizationResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/localization/language": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LocalizationLanguageResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/localization/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LocalizationResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/log": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + level?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LogResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/log/file": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LogFileResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/log/file/{filename}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + filename: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/manualimport": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + folder?: string; + downloadId?: string; + seriesId?: number; + seasonNumber?: number; + filterExistingFiles?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ManualImportResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ManualImportReprocessResource"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/mediacover/{seriesId}/{filename}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + seriesId: number; + filename: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/mediamanagement": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MediaManagementConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/mediamanagement/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MediaManagementConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MediaManagementConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["MediaManagementConfigResource"]; + "application/json": components["schemas"]["MediaManagementConfigResource"]; + "text/json": components["schemas"]["MediaManagementConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/metadata": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MetadataResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/metadata/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MetadataResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/metadata/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/metadata/test": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + forceTest?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MetadataResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/metadata/testall": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/metadata/action/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["MetadataResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/wanted/missing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + includeSeries?: boolean; + includeImages?: boolean; + monitored?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["EpisodeResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/wanted/missing/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["EpisodeResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/naming": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["NamingConfigResource"]; + "application/json": components["schemas"]["NamingConfigResource"]; + "text/json": components["schemas"]["NamingConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/naming/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NamingConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["NamingConfigResource"]; + "text/json": components["schemas"]["NamingConfigResource"]; + "application/*+json": components["schemas"]["NamingConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["NamingConfigResource"]; + "application/json": components["schemas"]["NamingConfigResource"]; + "text/json": components["schemas"]["NamingConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/naming/examples": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + renameEpisodes?: boolean; + replaceIllegalCharacters?: boolean; + colonReplacementFormat?: number; + customColonReplacementFormat?: string; + multiEpisodeStyle?: number; + standardEpisodeFormat?: string; + dailyEpisodeFormat?: string; + animeEpisodeFormat?: string; + seriesFolderFormat?: string; + seasonFolderFormat?: string; + specialsFolderFormat?: string; + id?: number; + resourceName?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/notification": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NotificationResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["NotificationResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NotificationResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/notification/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NotificationResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: { + forceSave?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["NotificationResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NotificationResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/notification/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NotificationResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/notification/test": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + forceTest?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["NotificationResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/notification/testall": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/notification/action/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["NotificationResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/parse": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + title?: string; + path?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ParseResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ping": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PingResource"]; + }; + }; + }; + }; + patch?: never; + trace?: never; + }; + "/api/v3/qualitydefinition/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["QualityDefinitionResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QualityDefinitionResource"]; + "text/json": components["schemas"]["QualityDefinitionResource"]; + "application/*+json": components["schemas"]["QualityDefinitionResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityDefinitionResource"]; + "application/json": components["schemas"]["QualityDefinitionResource"]; + "text/json": components["schemas"]["QualityDefinitionResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/qualitydefinition": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityDefinitionResource"][]; + "application/json": components["schemas"]["QualityDefinitionResource"][]; + "text/json": components["schemas"]["QualityDefinitionResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/qualitydefinition/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QualityDefinitionResource"][]; + "text/json": components["schemas"]["QualityDefinitionResource"][]; + "application/*+json": components["schemas"]["QualityDefinitionResource"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/qualitydefinition/limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityDefinitionLimitsResource"]; + "application/json": components["schemas"]["QualityDefinitionLimitsResource"]; + "text/json": components["schemas"]["QualityDefinitionLimitsResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/qualityprofile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["QualityProfileResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QualityProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityProfileResource"]; + "application/json": components["schemas"]["QualityProfileResource"]; + "text/json": components["schemas"]["QualityProfileResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/qualityprofile/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["QualityProfileResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QualityProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityProfileResource"]; + "application/json": components["schemas"]["QualityProfileResource"]; + "text/json": components["schemas"]["QualityProfileResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/qualityprofile/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["QualityProfileResource"]; + "application/json": components["schemas"]["QualityProfileResource"]; + "text/json": components["schemas"]["QualityProfileResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: { + parameters: { + query?: { + removeFromClient?: boolean; + blocklist?: boolean; + skipRedownload?: boolean; + changeCategory?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: { + parameters: { + query?: { + removeFromClient?: boolean; + blocklist?: boolean; + skipRedownload?: boolean; + changeCategory?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QueueBulkResource"]; + "text/json": components["schemas"]["QueueBulkResource"]; + "application/*+json": components["schemas"]["QueueBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + includeUnknownSeriesItems?: boolean; + includeSeries?: boolean; + includeEpisode?: boolean; + seriesIds?: number[]; + protocol?: components["schemas"]["DownloadProtocol"]; + languages?: number[]; + quality?: number[]; + status?: components["schemas"]["QueueStatus"][]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["QueueResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue/grab/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue/grab/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QueueBulkResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue/details": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + seriesId?: number; + episodeIds?: number[]; + includeSeries?: boolean; + includeEpisode?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["QueueResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/queue/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["QueueStatusResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/release": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + seriesId?: number; + episodeId?: number; + seasonNumber?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReleaseResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReleaseResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/releaseprofile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ReleaseProfileResource"][]; + "application/json": components["schemas"]["ReleaseProfileResource"][]; + "text/json": components["schemas"]["ReleaseProfileResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReleaseProfileResource"]; + "text/json": components["schemas"]["ReleaseProfileResource"]; + "application/*+json": components["schemas"]["ReleaseProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ReleaseProfileResource"]; + "application/json": components["schemas"]["ReleaseProfileResource"]; + "text/json": components["schemas"]["ReleaseProfileResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/releaseprofile/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReleaseProfileResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReleaseProfileResource"]; + "text/json": components["schemas"]["ReleaseProfileResource"]; + "application/*+json": components["schemas"]["ReleaseProfileResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ReleaseProfileResource"]; + "application/json": components["schemas"]["ReleaseProfileResource"]; + "text/json": components["schemas"]["ReleaseProfileResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/release/push": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReleaseResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ReleaseResource"][]; + "application/json": components["schemas"]["ReleaseResource"][]; + "text/json": components["schemas"]["ReleaseResource"][]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/remotepathmapping": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemotePathMappingResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RemotePathMappingResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RemotePathMappingResource"]; + "application/json": components["schemas"]["RemotePathMappingResource"]; + "text/json": components["schemas"]["RemotePathMappingResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/remotepathmapping/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemotePathMappingResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RemotePathMappingResource"]; + "text/json": components["schemas"]["RemotePathMappingResource"]; + "application/*+json": components["schemas"]["RemotePathMappingResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RemotePathMappingResource"]; + "application/json": components["schemas"]["RemotePathMappingResource"]; + "text/json": components["schemas"]["RemotePathMappingResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/rename": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + seriesId?: number; + seasonNumber?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RenameEpisodeResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/rootfolder": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RootFolderResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RootFolderResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RootFolderResource"]; + "application/json": components["schemas"]["RootFolderResource"]; + "text/json": components["schemas"]["RootFolderResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/rootfolder/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RootFolderResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/seasonpass": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SeasonPassResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/series": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + tvdbId?: number; + includeSeasonImages?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SeriesResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SeriesResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SeriesResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/series/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + includeSeasonImages?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SeriesResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: { + moveFiles?: boolean; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SeriesResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SeriesResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: { + deleteFiles?: boolean; + addImportListExclusion?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/series/editor": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SeriesEditorResource"]; + "text/json": components["schemas"]["SeriesEditorResource"]; + "application/*+json": components["schemas"]["SeriesEditorResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SeriesEditorResource"]; + "text/json": components["schemas"]["SeriesEditorResource"]; + "application/*+json": components["schemas"]["SeriesEditorResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/series/{id}/folder": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/series/import": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SeriesResource"][]; + "text/json": components["schemas"]["SeriesResource"][]; + "application/*+json": components["schemas"]["SeriesResource"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/series/lookup": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + term?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["SeriesResource"][]; + "application/json": components["schemas"]["SeriesResource"][]; + "text/json": components["schemas"]["SeriesResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/content/{path}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/{path}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SystemResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/routes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/routes/duplicate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/shutdown": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/restart": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/tag": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TagResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TagResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TagResource"]; + "application/json": components["schemas"]["TagResource"]; + "text/json": components["schemas"]["TagResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/tag/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TagResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TagResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TagResource"]; + "application/json": components["schemas"]["TagResource"]; + "text/json": components["schemas"]["TagResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/tag/detail": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TagDetailsResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/tag/detail/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TagDetailsResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/task": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TaskResource"][]; + "application/json": components["schemas"]["TaskResource"][]; + "text/json": components["schemas"]["TaskResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/system/task/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TaskResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/ui/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UiConfigResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["UiConfigResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UiConfigResource"]; + "application/json": components["schemas"]["UiConfigResource"]; + "text/json": components["schemas"]["UiConfigResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/config/ui": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UiConfigResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UpdateResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/log/file/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LogFileResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v3/log/file/update/{filename}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + filename: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + AddSeriesOptions: { + ignoreEpisodesWithFiles?: boolean; + ignoreEpisodesWithoutFiles?: boolean; + monitor?: components["schemas"]["MonitorTypes"]; + searchForMissingEpisodes?: boolean; + searchForCutoffUnmetEpisodes?: boolean; + }; + AlternateTitleResource: { + title?: string | null; + /** Format: int32 */ + seasonNumber?: number | null; + /** Format: int32 */ + sceneSeasonNumber?: number | null; + sceneOrigin?: string | null; + comment?: string | null; + }; + /** @enum {string} */ + ApplyTags: "add" | "remove" | "replace"; + /** @enum {string} */ + AuthenticationRequiredType: "enabled" | "disabledForLocalAddresses"; + /** @enum {string} */ + AuthenticationType: "none" | "basic" | "forms" | "external"; + AutoTaggingResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + removeTagsAutomatically?: boolean; + tags?: number[] | null; + specifications?: components["schemas"]["AutoTaggingSpecificationSchema"][] | null; + }; + AutoTaggingSpecificationSchema: { + /** Format: int32 */ + id?: number; + name?: string | null; + implementation?: string | null; + implementationName?: string | null; + negate?: boolean; + required?: boolean; + fields?: components["schemas"]["Field"][] | null; + }; + BackupResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + path?: string | null; + type?: components["schemas"]["BackupType"]; + /** Format: int64 */ + size?: number; + /** Format: date-time */ + time?: string; + }; + /** @enum {string} */ + BackupType: "scheduled" | "manual" | "update"; + BlocklistBulkResource: { + ids?: number[] | null; + }; + BlocklistResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + seriesId?: number; + episodeIds?: number[] | null; + sourceTitle?: string | null; + languages?: components["schemas"]["Language"][] | null; + quality?: components["schemas"]["QualityModel"]; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: date-time */ + date?: string; + protocol?: components["schemas"]["DownloadProtocol"]; + indexer?: string | null; + message?: string | null; + series?: components["schemas"]["SeriesResource"]; + }; + BlocklistResourcePagingResource: { + /** Format: int32 */ + page?: number; + /** Format: int32 */ + pageSize?: number; + sortKey?: string | null; + sortDirection?: components["schemas"]["SortDirection"]; + /** Format: int32 */ + totalRecords?: number; + records?: components["schemas"]["BlocklistResource"][] | null; + }; + /** @enum {string} */ + CertificateValidationType: "enabled" | "disabledForLocalAddresses" | "disabled"; + Command: { + sendUpdatesToClient?: boolean; + readonly updateScheduledTask?: boolean; + readonly completionMessage?: string | null; + readonly requiresDiskAccess?: boolean; + readonly isExclusive?: boolean; + readonly isLongRunning?: boolean; + readonly name?: string | null; + /** Format: date-time */ + lastExecutionTime?: string | null; + /** Format: date-time */ + lastStartTime?: string | null; + trigger?: components["schemas"]["CommandTrigger"]; + suppressMessages?: boolean; + clientUserAgent?: string | null; + }; + /** @enum {string} */ + CommandPriority: "normal" | "high" | "low"; + CommandResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + commandName?: string | null; + message?: string | null; + body?: components["schemas"]["Command"]; + priority?: components["schemas"]["CommandPriority"]; + status?: components["schemas"]["CommandStatus"]; + result?: components["schemas"]["CommandResult"]; + /** Format: date-time */ + queued?: string; + /** Format: date-time */ + started?: string | null; + /** Format: date-time */ + ended?: string | null; + /** Format: date-span */ + duration?: string | null; + exception?: string | null; + trigger?: components["schemas"]["CommandTrigger"]; + clientUserAgent?: string | null; + /** Format: date-time */ + stateChangeTime?: string | null; + sendUpdatesToClient?: boolean; + updateScheduledTask?: boolean; + /** Format: date-time */ + lastExecutionTime?: string | null; + }; + /** @enum {string} */ + CommandResult: "unknown" | "successful" | "unsuccessful"; + /** @enum {string} */ + CommandStatus: "queued" | "started" | "completed" | "failed" | "aborted" | "cancelled" | "orphaned"; + /** @enum {string} */ + CommandTrigger: "unspecified" | "manual" | "scheduled"; + CustomFilterResource: { + /** Format: int32 */ + id?: number; + type?: string | null; + label?: string | null; + filters?: { + [key: string]: unknown; + }[] | null; + }; + CustomFormatBulkResource: { + ids?: number[] | null; + includeCustomFormatWhenRenaming?: boolean | null; + }; + CustomFormatResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + includeCustomFormatWhenRenaming?: boolean | null; + specifications?: components["schemas"]["CustomFormatSpecificationSchema"][] | null; + }; + CustomFormatSpecificationSchema: { + /** Format: int32 */ + id?: number; + name?: string | null; + implementation?: string | null; + implementationName?: string | null; + infoLink?: string | null; + negate?: boolean; + required?: boolean; + fields?: components["schemas"]["Field"][] | null; + presets?: components["schemas"]["CustomFormatSpecificationSchema"][] | null; + }; + /** @enum {string} */ + DatabaseType: "sqLite" | "postgreSQL"; + DelayProfileResource: { + /** Format: int32 */ + id?: number; + enableUsenet?: boolean; + enableTorrent?: boolean; + preferredProtocol?: components["schemas"]["DownloadProtocol"]; + /** Format: int32 */ + usenetDelay?: number; + /** Format: int32 */ + torrentDelay?: number; + bypassIfHighestQuality?: boolean; + bypassIfAboveCustomFormatScore?: boolean; + /** Format: int32 */ + minimumCustomFormatScore?: number; + /** Format: int32 */ + order?: number; + tags?: number[] | null; + }; + DiskSpaceResource: { + /** Format: int32 */ + id?: number; + path?: string | null; + label?: string | null; + /** Format: int64 */ + freeSpace?: number; + /** Format: int64 */ + totalSpace?: number; + }; + DownloadClientBulkResource: { + ids?: number[] | null; + tags?: number[] | null; + applyTags?: components["schemas"]["ApplyTags"]; + enable?: boolean | null; + /** Format: int32 */ + priority?: number | null; + removeCompletedDownloads?: boolean | null; + removeFailedDownloads?: boolean | null; + }; + DownloadClientConfigResource: { + /** Format: int32 */ + id?: number; + downloadClientWorkingFolders?: string | null; + enableCompletedDownloadHandling?: boolean; + autoRedownloadFailed?: boolean; + autoRedownloadFailedFromInteractiveSearch?: boolean; + }; + DownloadClientResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + fields?: components["schemas"]["Field"][] | null; + implementationName?: string | null; + implementation?: string | null; + configContract?: string | null; + infoLink?: string | null; + message?: components["schemas"]["ProviderMessage"]; + tags?: number[] | null; + presets?: components["schemas"]["DownloadClientResource"][] | null; + enable?: boolean; + protocol?: components["schemas"]["DownloadProtocol"]; + /** Format: int32 */ + priority?: number; + removeCompletedDownloads?: boolean; + removeFailedDownloads?: boolean; + }; + /** @enum {string} */ + DownloadProtocol: "unknown" | "usenet" | "torrent"; + EpisodeFileListResource: { + episodeFileIds?: number[] | null; + languages?: components["schemas"]["Language"][] | null; + quality?: components["schemas"]["QualityModel"]; + sceneName?: string | null; + releaseGroup?: string | null; + }; + EpisodeFileResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + seriesId?: number; + /** Format: int32 */ + seasonNumber?: number; + relativePath?: string | null; + path?: string | null; + /** Format: int64 */ + size?: number; + /** Format: date-time */ + dateAdded?: string; + sceneName?: string | null; + releaseGroup?: string | null; + languages?: components["schemas"]["Language"][] | null; + quality?: components["schemas"]["QualityModel"]; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number; + /** Format: int32 */ + indexerFlags?: number | null; + releaseType?: components["schemas"]["ReleaseType"]; + mediaInfo?: components["schemas"]["MediaInfoResource"]; + qualityCutoffNotMet?: boolean; + }; + /** @enum {string} */ + EpisodeHistoryEventType: "unknown" | "grabbed" | "seriesFolderImported" | "downloadFolderImported" | "downloadFailed" | "episodeFileDeleted" | "episodeFileRenamed" | "downloadIgnored"; + EpisodeResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + seriesId?: number; + /** Format: int32 */ + tvdbId?: number; + /** Format: int32 */ + episodeFileId?: number; + /** Format: int32 */ + seasonNumber?: number; + /** Format: int32 */ + episodeNumber?: number; + title?: string | null; + airDate?: string | null; + /** Format: date-time */ + airDateUtc?: string | null; + /** Format: date-time */ + lastSearchTime?: string | null; + /** Format: int32 */ + runtime?: number; + finaleType?: string | null; + overview?: string | null; + episodeFile?: components["schemas"]["EpisodeFileResource"]; + hasFile?: boolean; + monitored?: boolean; + /** Format: int32 */ + absoluteEpisodeNumber?: number | null; + /** Format: int32 */ + sceneAbsoluteEpisodeNumber?: number | null; + /** Format: int32 */ + sceneEpisodeNumber?: number | null; + /** Format: int32 */ + sceneSeasonNumber?: number | null; + unverifiedSceneNumbering?: boolean; + /** Format: date-time */ + endTime?: string | null; + /** Format: date-time */ + grabDate?: string | null; + series?: components["schemas"]["SeriesResource"]; + images?: components["schemas"]["MediaCover"][] | null; + }; + EpisodeResourcePagingResource: { + /** Format: int32 */ + page?: number; + /** Format: int32 */ + pageSize?: number; + sortKey?: string | null; + sortDirection?: components["schemas"]["SortDirection"]; + /** Format: int32 */ + totalRecords?: number; + records?: components["schemas"]["EpisodeResource"][] | null; + }; + /** @enum {string} */ + EpisodeTitleRequiredType: "always" | "bulkSeasonReleases" | "never"; + EpisodesMonitoredResource: { + episodeIds?: number[] | null; + monitored?: boolean; + }; + Field: { + /** Format: int32 */ + order?: number; + name?: string | null; + label?: string | null; + unit?: string | null; + helpText?: string | null; + helpTextWarning?: string | null; + helpLink?: string | null; + value?: unknown; + type?: string | null; + advanced?: boolean; + selectOptions?: components["schemas"]["SelectOption"][] | null; + selectOptionsProviderAction?: string | null; + section?: string | null; + hidden?: string | null; + privacy?: components["schemas"]["PrivacyLevel"]; + placeholder?: string | null; + isFloat?: boolean; + }; + /** @enum {string} */ + FileDateType: "none" | "localAirDate" | "utcAirDate"; + /** @enum {string} */ + HealthCheckResult: "ok" | "notice" | "warning" | "error"; + HealthResource: { + /** Format: int32 */ + id?: number; + source?: string | null; + type?: components["schemas"]["HealthCheckResult"]; + message?: string | null; + wikiUrl?: components["schemas"]["HttpUri"]; + }; + HistoryResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + episodeId?: number; + /** Format: int32 */ + seriesId?: number; + sourceTitle?: string | null; + languages?: components["schemas"]["Language"][] | null; + quality?: components["schemas"]["QualityModel"]; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number; + qualityCutoffNotMet?: boolean; + /** Format: date-time */ + date?: string; + downloadId?: string | null; + eventType?: components["schemas"]["EpisodeHistoryEventType"]; + data?: { + [key: string]: string | null; + } | null; + episode?: components["schemas"]["EpisodeResource"]; + series?: components["schemas"]["SeriesResource"]; + }; + HistoryResourcePagingResource: { + /** Format: int32 */ + page?: number; + /** Format: int32 */ + pageSize?: number; + sortKey?: string | null; + sortDirection?: components["schemas"]["SortDirection"]; + /** Format: int32 */ + totalRecords?: number; + records?: components["schemas"]["HistoryResource"][] | null; + }; + HostConfigResource: { + /** Format: int32 */ + id?: number; + bindAddress?: string | null; + /** Format: int32 */ + port?: number; + /** Format: int32 */ + sslPort?: number; + enableSsl?: boolean; + launchBrowser?: boolean; + authenticationMethod?: components["schemas"]["AuthenticationType"]; + authenticationRequired?: components["schemas"]["AuthenticationRequiredType"]; + analyticsEnabled?: boolean; + username?: string | null; + password?: string | null; + passwordConfirmation?: string | null; + logLevel?: string | null; + /** Format: int32 */ + logSizeLimit?: number; + consoleLogLevel?: string | null; + branch?: string | null; + apiKey?: string | null; + sslCertPath?: string | null; + sslCertPassword?: string | null; + urlBase?: string | null; + instanceName?: string | null; + applicationUrl?: string | null; + updateAutomatically?: boolean; + updateMechanism?: components["schemas"]["UpdateMechanism"]; + updateScriptPath?: string | null; + proxyEnabled?: boolean; + proxyType?: components["schemas"]["ProxyType"]; + proxyHostname?: string | null; + /** Format: int32 */ + proxyPort?: number; + proxyUsername?: string | null; + proxyPassword?: string | null; + proxyBypassFilter?: string | null; + proxyBypassLocalAddresses?: boolean; + certificateValidation?: components["schemas"]["CertificateValidationType"]; + backupFolder?: string | null; + /** Format: int32 */ + backupInterval?: number; + /** Format: int32 */ + backupRetention?: number; + trustCgnatIpAddresses?: boolean; + }; + HttpUri: { + readonly fullUri?: string | null; + readonly scheme?: string | null; + readonly host?: string | null; + /** Format: int32 */ + readonly port?: number | null; + readonly path?: string | null; + readonly query?: string | null; + readonly fragment?: string | null; + }; + ImportListBulkResource: { + ids?: number[] | null; + tags?: number[] | null; + applyTags?: components["schemas"]["ApplyTags"]; + enableAutomaticAdd?: boolean | null; + rootFolderPath?: string | null; + /** Format: int32 */ + qualityProfileId?: number | null; + }; + ImportListConfigResource: { + /** Format: int32 */ + id?: number; + listSyncLevel?: components["schemas"]["ListSyncLevelType"]; + /** Format: int32 */ + listSyncTag?: number; + }; + ImportListExclusionBulkResource: { + ids?: number[] | null; + }; + ImportListExclusionResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + tvdbId?: number; + title?: string | null; + }; + ImportListExclusionResourcePagingResource: { + /** Format: int32 */ + page?: number; + /** Format: int32 */ + pageSize?: number; + sortKey?: string | null; + sortDirection?: components["schemas"]["SortDirection"]; + /** Format: int32 */ + totalRecords?: number; + records?: components["schemas"]["ImportListExclusionResource"][] | null; + }; + ImportListResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + fields?: components["schemas"]["Field"][] | null; + implementationName?: string | null; + implementation?: string | null; + configContract?: string | null; + infoLink?: string | null; + message?: components["schemas"]["ProviderMessage"]; + tags?: number[] | null; + presets?: components["schemas"]["ImportListResource"][] | null; + enableAutomaticAdd?: boolean; + searchForMissingEpisodes?: boolean; + shouldMonitor?: components["schemas"]["MonitorTypes"]; + monitorNewItems?: components["schemas"]["NewItemMonitorTypes"]; + rootFolderPath?: string | null; + /** Format: int32 */ + qualityProfileId?: number; + seriesType?: components["schemas"]["SeriesTypes"]; + seasonFolder?: boolean; + listType?: components["schemas"]["ImportListType"]; + /** Format: int32 */ + listOrder?: number; + /** Format: date-span */ + minRefreshInterval?: string; + }; + /** @enum {string} */ + ImportListType: "program" | "plex" | "trakt" | "simkl" | "other" | "advanced"; + ImportRejectionResource: { + reason?: string | null; + type?: components["schemas"]["RejectionType"]; + }; + IndexerBulkResource: { + ids?: number[] | null; + tags?: number[] | null; + applyTags?: components["schemas"]["ApplyTags"]; + enableRss?: boolean | null; + enableAutomaticSearch?: boolean | null; + enableInteractiveSearch?: boolean | null; + /** Format: int32 */ + priority?: number | null; + }; + IndexerConfigResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + minimumAge?: number; + /** Format: int32 */ + retention?: number; + /** Format: int32 */ + maximumSize?: number; + /** Format: int32 */ + rssSyncInterval?: number; + }; + IndexerFlagResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + readonly nameLower?: string | null; + }; + IndexerResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + fields?: components["schemas"]["Field"][] | null; + implementationName?: string | null; + implementation?: string | null; + configContract?: string | null; + infoLink?: string | null; + message?: components["schemas"]["ProviderMessage"]; + tags?: number[] | null; + presets?: components["schemas"]["IndexerResource"][] | null; + enableRss?: boolean; + enableAutomaticSearch?: boolean; + enableInteractiveSearch?: boolean; + supportsRss?: boolean; + supportsSearch?: boolean; + protocol?: components["schemas"]["DownloadProtocol"]; + /** Format: int32 */ + priority?: number; + /** Format: int32 */ + seasonSearchMaximumSingleEpisodeAge?: number; + /** Format: int32 */ + downloadClientId?: number; + }; + Language: { + /** Format: int32 */ + id?: number; + name?: string | null; + }; + LanguageProfileItemResource: { + /** Format: int32 */ + id?: number; + language?: components["schemas"]["Language"]; + allowed?: boolean; + }; + LanguageProfileResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + upgradeAllowed?: boolean; + cutoff?: components["schemas"]["Language"]; + languages?: components["schemas"]["LanguageProfileItemResource"][] | null; + }; + LanguageResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + readonly nameLower?: string | null; + }; + /** @enum {string} */ + ListSyncLevelType: "disabled" | "logOnly" | "keepAndUnmonitor" | "keepAndTag"; + LocalizationLanguageResource: { + identifier?: string | null; + }; + LocalizationResource: { + /** Format: int32 */ + id?: number; + strings?: { + [key: string]: string | null; + } | null; + }; + LogFileResource: { + /** Format: int32 */ + id?: number; + filename?: string | null; + /** Format: date-time */ + lastWriteTime?: string; + contentsUrl?: string | null; + downloadUrl?: string | null; + }; + LogResource: { + /** Format: int32 */ + id?: number; + /** Format: date-time */ + time?: string; + exception?: string | null; + exceptionType?: string | null; + level?: string | null; + logger?: string | null; + message?: string | null; + method?: string | null; + }; + LogResourcePagingResource: { + /** Format: int32 */ + page?: number; + /** Format: int32 */ + pageSize?: number; + sortKey?: string | null; + sortDirection?: components["schemas"]["SortDirection"]; + /** Format: int32 */ + totalRecords?: number; + records?: components["schemas"]["LogResource"][] | null; + }; + ManualImportReprocessResource: { + /** Format: int32 */ + id?: number; + path?: string | null; + /** Format: int32 */ + seriesId?: number; + /** Format: int32 */ + seasonNumber?: number | null; + episodes?: components["schemas"]["EpisodeResource"][] | null; + episodeIds?: number[] | null; + quality?: components["schemas"]["QualityModel"]; + languages?: components["schemas"]["Language"][] | null; + releaseGroup?: string | null; + downloadId?: string | null; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number; + /** Format: int32 */ + indexerFlags?: number; + releaseType?: components["schemas"]["ReleaseType"]; + rejections?: components["schemas"]["ImportRejectionResource"][] | null; + }; + ManualImportResource: { + /** Format: int32 */ + id?: number; + path?: string | null; + relativePath?: string | null; + folderName?: string | null; + name?: string | null; + /** Format: int64 */ + size?: number; + series?: components["schemas"]["SeriesResource"]; + /** Format: int32 */ + seasonNumber?: number | null; + episodes?: components["schemas"]["EpisodeResource"][] | null; + /** Format: int32 */ + episodeFileId?: number | null; + releaseGroup?: string | null; + quality?: components["schemas"]["QualityModel"]; + languages?: components["schemas"]["Language"][] | null; + /** Format: int32 */ + qualityWeight?: number; + downloadId?: string | null; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number; + /** Format: int32 */ + indexerFlags?: number; + releaseType?: components["schemas"]["ReleaseType"]; + rejections?: components["schemas"]["ImportRejectionResource"][] | null; + }; + MediaCover: { + coverType?: components["schemas"]["MediaCoverTypes"]; + url?: string | null; + remoteUrl?: string | null; + }; + /** @enum {string} */ + MediaCoverTypes: "unknown" | "poster" | "banner" | "fanart" | "screenshot" | "headshot" | "clearlogo"; + MediaInfoResource: { + /** Format: int32 */ + id?: number; + /** Format: int64 */ + audioBitrate?: number; + /** Format: double */ + audioChannels?: number; + audioCodec?: string | null; + audioLanguages?: string | null; + /** Format: int32 */ + audioStreamCount?: number; + /** Format: int32 */ + videoBitDepth?: number; + /** Format: int64 */ + videoBitrate?: number; + videoCodec?: string | null; + /** Format: double */ + videoFps?: number; + videoDynamicRange?: string | null; + videoDynamicRangeType?: string | null; + resolution?: string | null; + runTime?: string | null; + scanType?: string | null; + subtitles?: string | null; + }; + MediaManagementConfigResource: { + /** Format: int32 */ + id?: number; + autoUnmonitorPreviouslyDownloadedEpisodes?: boolean; + recycleBin?: string | null; + /** Format: int32 */ + recycleBinCleanupDays?: number; + downloadPropersAndRepacks?: components["schemas"]["ProperDownloadTypes"]; + createEmptySeriesFolders?: boolean; + deleteEmptyFolders?: boolean; + fileDate?: components["schemas"]["FileDateType"]; + rescanAfterRefresh?: components["schemas"]["RescanAfterRefreshType"]; + setPermissionsLinux?: boolean; + chmodFolder?: string | null; + chownGroup?: string | null; + episodeTitleRequired?: components["schemas"]["EpisodeTitleRequiredType"]; + skipFreeSpaceCheckWhenImporting?: boolean; + /** Format: int32 */ + minimumFreeSpaceWhenImporting?: number; + copyUsingHardlinks?: boolean; + useScriptImport?: boolean; + scriptImportPath?: string | null; + importExtraFiles?: boolean; + extraFileExtensions?: string | null; + enableMediaInfo?: boolean; + }; + MetadataResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + fields?: components["schemas"]["Field"][] | null; + implementationName?: string | null; + implementation?: string | null; + configContract?: string | null; + infoLink?: string | null; + message?: components["schemas"]["ProviderMessage"]; + tags?: number[] | null; + presets?: components["schemas"]["MetadataResource"][] | null; + enable?: boolean; + }; + /** @enum {string} */ + MonitorTypes: "unknown" | "all" | "future" | "missing" | "existing" | "firstSeason" | "lastSeason" | "latestSeason" | "pilot" | "recent" | "monitorSpecials" | "unmonitorSpecials" | "none" | "skip"; + MonitoringOptions: { + ignoreEpisodesWithFiles?: boolean; + ignoreEpisodesWithoutFiles?: boolean; + monitor?: components["schemas"]["MonitorTypes"]; + }; + NamingConfigResource: { + /** Format: int32 */ + id?: number; + renameEpisodes?: boolean; + replaceIllegalCharacters?: boolean; + /** Format: int32 */ + colonReplacementFormat?: number; + customColonReplacementFormat?: string | null; + /** Format: int32 */ + multiEpisodeStyle?: number; + standardEpisodeFormat?: string | null; + dailyEpisodeFormat?: string | null; + animeEpisodeFormat?: string | null; + seriesFolderFormat?: string | null; + seasonFolderFormat?: string | null; + specialsFolderFormat?: string | null; + }; + /** @enum {string} */ + NewItemMonitorTypes: "all" | "none"; + NotificationResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + fields?: components["schemas"]["Field"][] | null; + implementationName?: string | null; + implementation?: string | null; + configContract?: string | null; + infoLink?: string | null; + message?: components["schemas"]["ProviderMessage"]; + tags?: number[] | null; + presets?: components["schemas"]["NotificationResource"][] | null; + link?: string | null; + onGrab?: boolean; + onDownload?: boolean; + onUpgrade?: boolean; + onImportComplete?: boolean; + onRename?: boolean; + onSeriesAdd?: boolean; + onSeriesDelete?: boolean; + onEpisodeFileDelete?: boolean; + onEpisodeFileDeleteForUpgrade?: boolean; + onHealthIssue?: boolean; + includeHealthWarnings?: boolean; + onHealthRestored?: boolean; + onApplicationUpdate?: boolean; + onManualInteractionRequired?: boolean; + supportsOnGrab?: boolean; + supportsOnDownload?: boolean; + supportsOnUpgrade?: boolean; + supportsOnImportComplete?: boolean; + supportsOnRename?: boolean; + supportsOnSeriesAdd?: boolean; + supportsOnSeriesDelete?: boolean; + supportsOnEpisodeFileDelete?: boolean; + supportsOnEpisodeFileDeleteForUpgrade?: boolean; + supportsOnHealthIssue?: boolean; + supportsOnHealthRestored?: boolean; + supportsOnApplicationUpdate?: boolean; + supportsOnManualInteractionRequired?: boolean; + testCommand?: string | null; + }; + ParseResource: { + /** Format: int32 */ + id?: number; + title?: string | null; + parsedEpisodeInfo?: components["schemas"]["ParsedEpisodeInfo"]; + series?: components["schemas"]["SeriesResource"]; + episodes?: components["schemas"]["EpisodeResource"][] | null; + languages?: components["schemas"]["Language"][] | null; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number; + }; + ParsedEpisodeInfo: { + releaseTitle?: string | null; + seriesTitle?: string | null; + seriesTitleInfo?: components["schemas"]["SeriesTitleInfo"]; + quality?: components["schemas"]["QualityModel"]; + /** Format: int32 */ + seasonNumber?: number; + episodeNumbers?: number[] | null; + absoluteEpisodeNumbers?: number[] | null; + specialAbsoluteEpisodeNumbers?: number[] | null; + airDate?: string | null; + languages?: components["schemas"]["Language"][] | null; + fullSeason?: boolean; + isPartialSeason?: boolean; + isMultiSeason?: boolean; + isSeasonExtra?: boolean; + isSplitEpisode?: boolean; + isMiniSeries?: boolean; + special?: boolean; + releaseGroup?: string | null; + releaseHash?: string | null; + /** Format: int32 */ + seasonPart?: number; + releaseTokens?: string | null; + /** Format: int32 */ + dailyPart?: number | null; + readonly isDaily?: boolean; + readonly isAbsoluteNumbering?: boolean; + readonly isPossibleSpecialEpisode?: boolean; + readonly isPossibleSceneSeasonSpecial?: boolean; + releaseType?: components["schemas"]["ReleaseType"]; + }; + PingResource: { + status?: string | null; + }; + /** @enum {string} */ + PrivacyLevel: "normal" | "password" | "apiKey" | "userName"; + ProfileFormatItemResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + format?: number; + name?: string | null; + /** Format: int32 */ + score?: number; + }; + /** @enum {string} */ + ProperDownloadTypes: "preferAndUpgrade" | "doNotUpgrade" | "doNotPrefer"; + ProviderMessage: { + message?: string | null; + type?: components["schemas"]["ProviderMessageType"]; + }; + /** @enum {string} */ + ProviderMessageType: "info" | "warning" | "error"; + /** @enum {string} */ + ProxyType: "http" | "socks4" | "socks5"; + Quality: { + /** Format: int32 */ + id?: number; + name?: string | null; + source?: components["schemas"]["QualitySource"]; + /** Format: int32 */ + resolution?: number; + }; + QualityDefinitionLimitsResource: { + /** Format: int32 */ + min?: number; + /** Format: int32 */ + max?: number; + }; + QualityDefinitionResource: { + /** Format: int32 */ + id?: number; + quality?: components["schemas"]["Quality"]; + title?: string | null; + /** Format: int32 */ + weight?: number; + /** Format: double */ + minSize?: number | null; + /** Format: double */ + maxSize?: number | null; + /** Format: double */ + preferredSize?: number | null; + }; + QualityModel: { + quality?: components["schemas"]["Quality"]; + revision?: components["schemas"]["Revision"]; + }; + QualityProfileQualityItemResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + quality?: components["schemas"]["Quality"]; + items?: components["schemas"]["QualityProfileQualityItemResource"][] | null; + allowed?: boolean; + }; + QualityProfileResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + upgradeAllowed?: boolean; + /** Format: int32 */ + cutoff?: number; + items?: components["schemas"]["QualityProfileQualityItemResource"][] | null; + /** Format: int32 */ + minFormatScore?: number; + /** Format: int32 */ + cutoffFormatScore?: number; + /** Format: int32 */ + minUpgradeFormatScore?: number; + formatItems?: components["schemas"]["ProfileFormatItemResource"][] | null; + }; + /** @enum {string} */ + QualitySource: "unknown" | "television" | "televisionRaw" | "web" | "webRip" | "dvd" | "bluray" | "blurayRaw"; + QueueBulkResource: { + ids?: number[] | null; + }; + QueueResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + seriesId?: number | null; + /** Format: int32 */ + episodeId?: number | null; + /** Format: int32 */ + seasonNumber?: number | null; + series?: components["schemas"]["SeriesResource"]; + episode?: components["schemas"]["EpisodeResource"]; + languages?: components["schemas"]["Language"][] | null; + quality?: components["schemas"]["QualityModel"]; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number; + /** Format: double */ + size?: number; + title?: string | null; + /** Format: date-time */ + estimatedCompletionTime?: string | null; + /** Format: date-time */ + added?: string | null; + status?: components["schemas"]["QueueStatus"]; + trackedDownloadStatus?: components["schemas"]["TrackedDownloadStatus"]; + trackedDownloadState?: components["schemas"]["TrackedDownloadState"]; + statusMessages?: components["schemas"]["TrackedDownloadStatusMessage"][] | null; + errorMessage?: string | null; + downloadId?: string | null; + protocol?: components["schemas"]["DownloadProtocol"]; + downloadClient?: string | null; + downloadClientHasPostImportCategory?: boolean; + indexer?: string | null; + outputPath?: string | null; + episodeHasFile?: boolean; + /** + * Format: double + * @deprecated + */ + sizeleft?: number; + /** + * Format: date-span + * @deprecated + */ + timeleft?: string | null; + }; + QueueResourcePagingResource: { + /** Format: int32 */ + page?: number; + /** Format: int32 */ + pageSize?: number; + sortKey?: string | null; + sortDirection?: components["schemas"]["SortDirection"]; + /** Format: int32 */ + totalRecords?: number; + records?: components["schemas"]["QueueResource"][] | null; + }; + /** @enum {string} */ + QueueStatus: "unknown" | "queued" | "paused" | "downloading" | "completed" | "failed" | "warning" | "delay" | "downloadClientUnavailable" | "fallback"; + QueueStatusResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + totalCount?: number; + /** Format: int32 */ + count?: number; + /** Format: int32 */ + unknownCount?: number; + errors?: boolean; + warnings?: boolean; + unknownErrors?: boolean; + unknownWarnings?: boolean; + }; + Ratings: { + /** Format: int32 */ + votes?: number; + /** Format: double */ + value?: number; + }; + /** @enum {string} */ + RejectionType: "permanent" | "temporary"; + ReleaseEpisodeResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + seasonNumber?: number; + /** Format: int32 */ + episodeNumber?: number; + /** Format: int32 */ + absoluteEpisodeNumber?: number | null; + title?: string | null; + }; + ReleaseProfileResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + enabled?: boolean; + required?: unknown; + ignored?: unknown; + /** Format: int32 */ + indexerId?: number; + tags?: number[] | null; + }; + ReleaseResource: { + /** Format: int32 */ + id?: number; + guid?: string | null; + quality?: components["schemas"]["QualityModel"]; + /** Format: int32 */ + qualityWeight?: number; + /** Format: int32 */ + age?: number; + /** Format: double */ + ageHours?: number; + /** Format: double */ + ageMinutes?: number; + /** Format: int64 */ + size?: number; + /** Format: int32 */ + indexerId?: number; + indexer?: string | null; + releaseGroup?: string | null; + subGroup?: string | null; + releaseHash?: string | null; + title?: string | null; + fullSeason?: boolean; + sceneSource?: boolean; + /** Format: int32 */ + seasonNumber?: number; + languages?: components["schemas"]["Language"][] | null; + /** Format: int32 */ + languageWeight?: number; + airDate?: string | null; + seriesTitle?: string | null; + episodeNumbers?: number[] | null; + absoluteEpisodeNumbers?: number[] | null; + /** Format: int32 */ + mappedSeasonNumber?: number | null; + mappedEpisodeNumbers?: number[] | null; + mappedAbsoluteEpisodeNumbers?: number[] | null; + /** Format: int32 */ + mappedSeriesId?: number | null; + mappedEpisodeInfo?: components["schemas"]["ReleaseEpisodeResource"][] | null; + approved?: boolean; + temporarilyRejected?: boolean; + rejected?: boolean; + /** Format: int32 */ + tvdbId?: number; + /** Format: int32 */ + tvRageId?: number; + imdbId?: string | null; + rejections?: string[] | null; + /** Format: date-time */ + publishDate?: string; + commentUrl?: string | null; + downloadUrl?: string | null; + infoUrl?: string | null; + episodeRequested?: boolean; + downloadAllowed?: boolean; + /** Format: int32 */ + releaseWeight?: number; + customFormats?: components["schemas"]["CustomFormatResource"][] | null; + /** Format: int32 */ + customFormatScore?: number; + sceneMapping?: components["schemas"]["AlternateTitleResource"]; + magnetUrl?: string | null; + infoHash?: string | null; + /** Format: int32 */ + seeders?: number | null; + /** Format: int32 */ + leechers?: number | null; + protocol?: components["schemas"]["DownloadProtocol"]; + /** Format: int32 */ + indexerFlags?: number; + isDaily?: boolean; + isAbsoluteNumbering?: boolean; + isPossibleSpecialEpisode?: boolean; + special?: boolean; + /** Format: int32 */ + seriesId?: number | null; + /** Format: int32 */ + episodeId?: number | null; + episodeIds?: number[] | null; + /** Format: int32 */ + downloadClientId?: number | null; + downloadClient?: string | null; + shouldOverride?: boolean | null; + }; + /** @enum {string} */ + ReleaseType: "unknown" | "singleEpisode" | "multiEpisode" | "seasonPack"; + RemotePathMappingResource: { + /** Format: int32 */ + id?: number; + host?: string | null; + remotePath?: string | null; + localPath?: string | null; + }; + RenameEpisodeResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + seriesId?: number; + /** Format: int32 */ + seasonNumber?: number; + episodeNumbers?: number[] | null; + /** Format: int32 */ + episodeFileId?: number; + existingPath?: string | null; + newPath?: string | null; + }; + /** @enum {string} */ + RescanAfterRefreshType: "always" | "afterManual" | "never"; + Revision: { + /** Format: int32 */ + version?: number; + /** Format: int32 */ + real?: number; + isRepack?: boolean; + }; + RootFolderResource: { + /** Format: int32 */ + id?: number; + path?: string | null; + accessible?: boolean; + /** Format: int64 */ + freeSpace?: number | null; + unmappedFolders?: components["schemas"]["UnmappedFolder"][] | null; + }; + /** @enum {string} */ + RuntimeMode: "console" | "service" | "tray"; + SeasonPassResource: { + series?: components["schemas"]["SeasonPassSeriesResource"][] | null; + monitoringOptions?: components["schemas"]["MonitoringOptions"]; + }; + SeasonPassSeriesResource: { + /** Format: int32 */ + id?: number; + monitored?: boolean | null; + seasons?: components["schemas"]["SeasonResource"][] | null; + }; + SeasonResource: { + /** Format: int32 */ + seasonNumber?: number; + monitored?: boolean; + statistics?: components["schemas"]["SeasonStatisticsResource"]; + images?: components["schemas"]["MediaCover"][] | null; + }; + SeasonStatisticsResource: { + /** Format: date-time */ + nextAiring?: string | null; + /** Format: date-time */ + previousAiring?: string | null; + /** Format: int32 */ + episodeFileCount?: number; + /** Format: int32 */ + episodeCount?: number; + /** Format: int32 */ + totalEpisodeCount?: number; + /** Format: int64 */ + sizeOnDisk?: number; + releaseGroups?: string[] | null; + /** Format: double */ + readonly percentOfEpisodes?: number; + }; + SelectOption: { + /** Format: int32 */ + value?: number; + name?: string | null; + /** Format: int32 */ + order?: number; + hint?: string | null; + }; + SeriesEditorResource: { + seriesIds?: number[] | null; + monitored?: boolean | null; + monitorNewItems?: components["schemas"]["NewItemMonitorTypes"]; + /** Format: int32 */ + qualityProfileId?: number | null; + seriesType?: components["schemas"]["SeriesTypes"]; + seasonFolder?: boolean | null; + rootFolderPath?: string | null; + tags?: number[] | null; + applyTags?: components["schemas"]["ApplyTags"]; + moveFiles?: boolean; + deleteFiles?: boolean; + addImportListExclusion?: boolean; + }; + SeriesResource: { + /** Format: int32 */ + id?: number; + title?: string | null; + alternateTitles?: components["schemas"]["AlternateTitleResource"][] | null; + sortTitle?: string | null; + status?: components["schemas"]["SeriesStatusType"]; + readonly ended?: boolean; + profileName?: string | null; + overview?: string | null; + /** Format: date-time */ + nextAiring?: string | null; + /** Format: date-time */ + previousAiring?: string | null; + network?: string | null; + airTime?: string | null; + images?: components["schemas"]["MediaCover"][] | null; + originalLanguage?: components["schemas"]["Language"]; + remotePoster?: string | null; + seasons?: components["schemas"]["SeasonResource"][] | null; + /** Format: int32 */ + year?: number; + path?: string | null; + /** Format: int32 */ + qualityProfileId?: number; + seasonFolder?: boolean; + monitored?: boolean; + monitorNewItems?: components["schemas"]["NewItemMonitorTypes"]; + useSceneNumbering?: boolean; + /** Format: int32 */ + runtime?: number; + /** Format: int32 */ + tvdbId?: number; + /** Format: int32 */ + tvRageId?: number; + /** Format: int32 */ + tvMazeId?: number; + /** Format: int32 */ + tmdbId?: number; + /** Format: date-time */ + firstAired?: string | null; + /** Format: date-time */ + lastAired?: string | null; + seriesType?: components["schemas"]["SeriesTypes"]; + cleanTitle?: string | null; + imdbId?: string | null; + titleSlug?: string | null; + rootFolderPath?: string | null; + folder?: string | null; + certification?: string | null; + genres?: string[] | null; + tags?: number[] | null; + /** Format: date-time */ + added?: string; + addOptions?: components["schemas"]["AddSeriesOptions"]; + ratings?: components["schemas"]["Ratings"]; + statistics?: components["schemas"]["SeriesStatisticsResource"]; + episodesChanged?: boolean | null; + /** + * Format: int32 + * @deprecated + */ + readonly languageProfileId?: number; + }; + SeriesStatisticsResource: { + /** Format: int32 */ + seasonCount?: number; + /** Format: int32 */ + episodeFileCount?: number; + /** Format: int32 */ + episodeCount?: number; + /** Format: int32 */ + totalEpisodeCount?: number; + /** Format: int64 */ + sizeOnDisk?: number; + releaseGroups?: string[] | null; + /** Format: double */ + readonly percentOfEpisodes?: number; + }; + /** @enum {string} */ + SeriesStatusType: "continuing" | "ended" | "upcoming" | "deleted"; + SeriesTitleInfo: { + title?: string | null; + titleWithoutYear?: string | null; + /** Format: int32 */ + year?: number; + allTitles?: string[] | null; + }; + /** @enum {string} */ + SeriesTypes: "standard" | "daily" | "anime"; + /** @enum {string} */ + SortDirection: "default" | "ascending" | "descending"; + SystemResource: { + appName?: string | null; + instanceName?: string | null; + version?: string | null; + /** Format: date-time */ + buildTime?: string; + isDebug?: boolean; + isProduction?: boolean; + isAdmin?: boolean; + isUserInteractive?: boolean; + startupPath?: string | null; + appData?: string | null; + osName?: string | null; + osVersion?: string | null; + isNetCore?: boolean; + isLinux?: boolean; + isOsx?: boolean; + isWindows?: boolean; + isDocker?: boolean; + mode?: components["schemas"]["RuntimeMode"]; + branch?: string | null; + authentication?: components["schemas"]["AuthenticationType"]; + sqliteVersion?: string | null; + /** Format: int32 */ + migrationVersion?: number; + urlBase?: string | null; + runtimeVersion?: string | null; + runtimeName?: string | null; + /** Format: date-time */ + startTime?: string; + packageVersion?: string | null; + packageAuthor?: string | null; + packageUpdateMechanism?: components["schemas"]["UpdateMechanism"]; + packageUpdateMechanismMessage?: string | null; + databaseVersion?: string | null; + databaseType?: components["schemas"]["DatabaseType"]; + }; + TagDetailsResource: { + /** Format: int32 */ + id?: number; + label?: string | null; + delayProfileIds?: number[] | null; + importListIds?: number[] | null; + notificationIds?: number[] | null; + restrictionIds?: number[] | null; + indexerIds?: number[] | null; + downloadClientIds?: number[] | null; + autoTagIds?: number[] | null; + seriesIds?: number[] | null; + }; + TagResource: { + /** Format: int32 */ + id?: number; + label?: string | null; + }; + TaskResource: { + /** Format: int32 */ + id?: number; + name?: string | null; + taskName?: string | null; + /** Format: int32 */ + interval?: number; + /** Format: date-time */ + lastExecution?: string; + /** Format: date-time */ + lastStartTime?: string; + /** Format: date-time */ + nextExecution?: string; + /** Format: date-span */ + readonly lastDuration?: string; + }; + /** @enum {string} */ + TrackedDownloadState: "downloading" | "importBlocked" | "importPending" | "importing" | "imported" | "failedPending" | "failed" | "ignored"; + /** @enum {string} */ + TrackedDownloadStatus: "ok" | "warning" | "error"; + TrackedDownloadStatusMessage: { + title?: string | null; + messages?: string[] | null; + }; + UiConfigResource: { + /** Format: int32 */ + id?: number; + /** Format: int32 */ + firstDayOfWeek?: number; + calendarWeekColumnHeader?: string | null; + shortDateFormat?: string | null; + longDateFormat?: string | null; + timeFormat?: string | null; + showRelativeDates?: boolean; + enableColorImpairedMode?: boolean; + theme?: string | null; + /** Format: int32 */ + uiLanguage?: number; + }; + UnmappedFolder: { + name?: string | null; + path?: string | null; + relativePath?: string | null; + }; + UpdateChanges: { + new?: string[] | null; + fixed?: string[] | null; + }; + /** @enum {string} */ + UpdateMechanism: "builtIn" | "script" | "external" | "apt" | "docker"; + UpdateResource: { + /** Format: int32 */ + id?: number; + version?: string | null; + branch?: string | null; + /** Format: date-time */ + releaseDate?: string; + fileName?: string | null; + url?: string | null; + installed?: boolean; + /** Format: date-time */ + installedOn?: string | null; + installable?: boolean; + latest?: boolean; + changes?: components["schemas"]["UpdateChanges"]; + hash?: string | null; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; diff --git a/src/features/content/apis/sonarr.v3.json b/src/features/content/apis/sonarr.v3.json new file mode 100644 index 0000000..302749b --- /dev/null +++ b/src/features/content/apis/sonarr.v3.json @@ -0,0 +1,11887 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Sonarr", + "description": "Sonarr API docs - The v3 API docs apply to both v3 and v4 versions of Sonarr. Some functionality may only be available in v4 of the Sonarr application.", + "license": { + "name": "GPL-3.0", + "url": "https://github.com/Sonarr/Sonarr/blob/develop/LICENSE" + }, + "version": "3.0.0" + }, + "servers": [ + { + "url": "{protocol}://{hostpath}", + "variables": { + "protocol": { + "default": "http", + "enum": ["http", "https"] + }, + "hostpath": { + "default": "localhost:8989" + } + } + } + ], + "paths": { + "/api": { + "get": { + "tags": ["ApiInfo"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/login": { + "post": { + "tags": ["Authentication"], + "parameters": [ + { + "name": "returnUrl", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "rememberMe": { + "type": "string" + } + } + }, + "encoding": { + "username": { + "style": "form" + }, + "password": { + "style": "form" + }, + "rememberMe": { + "style": "form" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["StaticResource"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/logout": { + "get": { + "tags": ["Authentication"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/autotagging": { + "post": { + "tags": ["AutoTagging"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + } + } + } + } + }, + "get": { + "tags": ["AutoTagging"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + } + } + } + } + } + } + }, + "/api/v3/autotagging/{id}": { + "put": { + "tags": ["AutoTagging"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + } + } + } + } + }, + "delete": { + "tags": ["AutoTagging"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["AutoTagging"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoTaggingResource" + } + } + } + } + } + } + }, + "/api/v3/autotagging/schema": { + "get": { + "tags": ["AutoTagging"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/backup": { + "get": { + "tags": ["Backup"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BackupResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BackupResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BackupResource" + } + } + } + } + } + } + } + }, + "/api/v3/system/backup/{id}": { + "delete": { + "tags": ["Backup"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/backup/restore/{id}": { + "post": { + "tags": ["Backup"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/backup/restore/upload": { + "post": { + "tags": ["Backup"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/blocklist": { + "get": { + "tags": ["Blocklist"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + }, + { + "name": "seriesIds", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "protocols", + "in": "query", + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadProtocol" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlocklistResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/blocklist/{id}": { + "delete": { + "tags": ["Blocklist"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/blocklist/bulk": { + "delete": { + "tags": ["Blocklist"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlocklistBulkResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/BlocklistBulkResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/BlocklistBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/calendar": { + "get": { + "tags": ["Calendar"], + "parameters": [ + { + "name": "start", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "unmonitored", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeSeries", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeEpisodeFile", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeEpisodeImages", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "tags", + "in": "query", + "schema": { + "type": "string", + "default": "" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EpisodeResource" + } + } + } + } + } + } + } + }, + "/api/v3/calendar/{id}": { + "get": { + "tags": ["Calendar"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeResource" + } + } + } + } + } + } + }, + "/feed/v3/calendar/sonarr.ics": { + "get": { + "tags": ["CalendarFeed"], + "parameters": [ + { + "name": "pastDays", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 7 + } + }, + { + "name": "futureDays", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 28 + } + }, + { + "name": "tags", + "in": "query", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "unmonitored", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "premieresOnly", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "asAllDay", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/command": { + "post": { + "tags": ["Command"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CommandResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CommandResource" + } + } + } + } + } + }, + "get": { + "tags": ["Command"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommandResource" + } + } + } + } + } + } + } + }, + "/api/v3/command/{id}": { + "delete": { + "tags": ["Command"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["Command"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CommandResource" + } + } + } + } + } + } + }, + "/api/v3/customfilter": { + "get": { + "tags": ["CustomFilter"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["CustomFilter"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + } + } + } + }, + "/api/v3/customfilter/{id}": { + "put": { + "tags": ["CustomFilter"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + } + } + }, + "delete": { + "tags": ["CustomFilter"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["CustomFilter"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + } + } + } + }, + "/api/v3/customformat": { + "get": { + "tags": ["CustomFormat"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["CustomFormat"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + } + } + } + }, + "/api/v3/customformat/{id}": { + "put": { + "tags": ["CustomFormat"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + } + } + }, + "delete": { + "tags": ["CustomFormat"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["CustomFormat"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + } + } + } + }, + "/api/v3/customformat/bulk": { + "put": { + "tags": ["CustomFormat"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatResource" + } + } + } + } + } + }, + "delete": { + "tags": ["CustomFormat"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormatBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/customformat/schema": { + "get": { + "tags": ["CustomFormat"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/wanted/cutoff": { + "get": { + "tags": ["Cutoff"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + }, + { + "name": "includeSeries", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeEpisodeFile", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeImages", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "monitored", + "in": "query", + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/wanted/cutoff/{id}": { + "get": { + "tags": ["Cutoff"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeResource" + } + } + } + } + } + } + }, + "/api/v3/delayprofile": { + "post": { + "tags": ["DelayProfile"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + } + } + }, + "get": { + "tags": ["DelayProfile"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + } + } + } + } + }, + "/api/v3/delayprofile/{id}": { + "delete": { + "tags": ["DelayProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "put": { + "tags": ["DelayProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + } + } + }, + "get": { + "tags": ["DelayProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + } + } + } + }, + "/api/v3/delayprofile/reorder/{id}": { + "put": { + "tags": ["DelayProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "after", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DelayProfileResource" + } + } + } + } + } + } + } + }, + "/api/v3/diskspace": { + "get": { + "tags": ["DiskSpace"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DiskSpaceResource" + } + } + } + } + } + } + } + }, + "/api/v3/downloadclient": { + "get": { + "tags": ["DownloadClient"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["DownloadClient"], + "parameters": [ + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + } + }, + "/api/v3/downloadclient/{id}": { + "put": { + "tags": ["DownloadClient"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + }, + "delete": { + "tags": ["DownloadClient"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["DownloadClient"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + } + }, + "/api/v3/downloadclient/bulk": { + "put": { + "tags": ["DownloadClient"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + }, + "delete": { + "tags": ["DownloadClient"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/downloadclient/schema": { + "get": { + "tags": ["DownloadClient"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + } + } + }, + "/api/v3/downloadclient/test": { + "post": { + "tags": ["DownloadClient"], + "parameters": [ + { + "name": "forceTest", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/downloadclient/testall": { + "post": { + "tags": ["DownloadClient"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/downloadclient/action/{name}": { + "post": { + "tags": ["DownloadClient"], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/config/downloadclient": { + "get": { + "tags": ["DownloadClientConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/downloadclient/{id}": { + "put": { + "tags": ["DownloadClientConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["DownloadClientConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + } + } + } + } + } + }, + "/api/v3/episode": { + "get": { + "tags": ["Episode"], + "parameters": [ + { + "name": "seriesId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "seasonNumber", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "episodeIds", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "episodeFileId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "includeSeries", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeEpisodeFile", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeImages", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EpisodeResource" + } + } + } + } + } + } + } + }, + "/api/v3/episode/{id}": { + "put": { + "tags": ["Episode"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/EpisodeResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeResource" + } + } + } + } + } + }, + "get": { + "tags": ["Episode"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeResource" + } + } + } + } + } + } + }, + "/api/v3/episode/monitor": { + "put": { + "tags": ["Episode"], + "parameters": [ + { + "name": "includeImages", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodesMonitoredResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/episodefile": { + "get": { + "tags": ["EpisodeFile"], + "parameters": [ + { + "name": "seriesId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "episodeFileIds", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EpisodeFileResource" + } + } + } + } + } + } + } + }, + "/api/v3/episodefile/{id}": { + "put": { + "tags": ["EpisodeFile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeFileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/EpisodeFileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeFileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeFileResource" + } + } + } + } + } + }, + "delete": { + "tags": ["EpisodeFile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["EpisodeFile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeFileResource" + } + } + } + } + } + } + }, + "/api/v3/episodefile/editor": { + "put": { + "tags": ["EpisodeFile"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeFileListResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/episodefile/bulk": { + "delete": { + "tags": ["EpisodeFile"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeFileListResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + }, + "put": { + "tags": ["EpisodeFile"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EpisodeFileResource" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/filesystem": { + "get": { + "tags": ["FileSystem"], + "parameters": [ + { + "name": "path", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "includeFiles", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "allowFoldersWithoutTrailingSlashes", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/filesystem/type": { + "get": { + "tags": ["FileSystem"], + "parameters": [ + { + "name": "path", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/filesystem/mediafiles": { + "get": { + "tags": ["FileSystem"], + "parameters": [ + { + "name": "path", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/health": { + "get": { + "tags": ["Health"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HealthResource" + } + } + } + } + } + } + } + }, + "/api/v3/history": { + "get": { + "tags": ["History"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + }, + { + "name": "includeSeries", + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "includeEpisode", + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "eventType", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "episodeId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "downloadId", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "seriesIds", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "languages", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "quality", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HistoryResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/history/since": { + "get": { + "tags": ["History"], + "parameters": [ + { + "name": "date", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "eventType", + "in": "query", + "schema": { + "$ref": "#/components/schemas/EpisodeHistoryEventType" + } + }, + { + "name": "includeSeries", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeEpisode", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryResource" + } + } + } + } + } + } + } + }, + "/api/v3/history/series": { + "get": { + "tags": ["History"], + "parameters": [ + { + "name": "seriesId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "seasonNumber", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "eventType", + "in": "query", + "schema": { + "$ref": "#/components/schemas/EpisodeHistoryEventType" + } + }, + { + "name": "includeSeries", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeEpisode", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryResource" + } + } + } + } + } + } + } + }, + "/api/v3/history/failed/{id}": { + "post": { + "tags": ["History"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/config/host": { + "get": { + "tags": ["HostConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/host/{id}": { + "put": { + "tags": ["HostConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["HostConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + } + } + } + } + } + }, + "/api/v3/importlist": { + "get": { + "tags": ["ImportList"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["ImportList"], + "parameters": [ + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + } + } + } + }, + "/api/v3/importlist/{id}": { + "put": { + "tags": ["ImportList"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + } + } + }, + "delete": { + "tags": ["ImportList"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["ImportList"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + } + } + } + }, + "/api/v3/importlist/bulk": { + "put": { + "tags": ["ImportList"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + } + } + }, + "delete": { + "tags": ["ImportList"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/importlist/schema": { + "get": { + "tags": ["ImportList"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + } + } + } + } + }, + "/api/v3/importlist/test": { + "post": { + "tags": ["ImportList"], + "parameters": [ + { + "name": "forceTest", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/importlist/testall": { + "post": { + "tags": ["ImportList"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/importlist/action/{name}": { + "post": { + "tags": ["ImportList"], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/config/importlist": { + "get": { + "tags": ["ImportListConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/importlist/{id}": { + "put": { + "tags": ["ImportListConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["ImportListConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListConfigResource" + } + } + } + } + } + } + }, + "/api/v3/importlistexclusion": { + "get": { + "tags": ["ImportListExclusion"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + } + } + } + }, + "deprecated": true + }, + "post": { + "tags": ["ImportListExclusion"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + } + } + } + } + }, + "/api/v3/importlistexclusion/paged": { + "get": { + "tags": ["ImportListExclusion"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/importlistexclusion/{id}": { + "put": { + "tags": ["ImportListExclusion"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + } + } + } + }, + "delete": { + "tags": ["ImportListExclusion"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["ImportListExclusion"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionResource" + } + } + } + } + } + } + }, + "/api/v3/importlistexclusion/bulk": { + "delete": { + "tags": ["ImportListExclusion"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionBulkResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionBulkResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ImportListExclusionBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/indexer": { + "get": { + "tags": ["Indexer"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["Indexer"], + "parameters": [ + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + } + }, + "/api/v3/indexer/{id}": { + "put": { + "tags": ["Indexer"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + }, + "delete": { + "tags": ["Indexer"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["Indexer"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + } + }, + "/api/v3/indexer/bulk": { + "put": { + "tags": ["Indexer"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + }, + "delete": { + "tags": ["Indexer"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/indexer/schema": { + "get": { + "tags": ["Indexer"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + } + } + }, + "/api/v3/indexer/test": { + "post": { + "tags": ["Indexer"], + "parameters": [ + { + "name": "forceTest", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/indexer/testall": { + "post": { + "tags": ["Indexer"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/indexer/action/{name}": { + "post": { + "tags": ["Indexer"], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/config/indexer": { + "get": { + "tags": ["IndexerConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/indexer/{id}": { + "put": { + "tags": ["IndexerConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["IndexerConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + } + } + } + } + } + }, + "/api/v3/indexerflag": { + "get": { + "tags": ["IndexerFlag"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerFlagResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerFlagResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerFlagResource" + } + } + } + } + } + } + } + }, + "/api/v3/language": { + "get": { + "tags": ["Language"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LanguageResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LanguageResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LanguageResource" + } + } + } + } + } + } + } + }, + "/api/v3/language/{id}": { + "get": { + "tags": ["Language"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LanguageResource" + } + } + } + } + } + } + }, + "/api/v3/languageprofile": { + "post": { + "tags": ["LanguageProfile"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LanguageProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LanguageProfileResource" + } + } + } + } + }, + "deprecated": true + }, + "get": { + "tags": ["LanguageProfile"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LanguageProfileResource" + } + } + } + } + } + }, + "deprecated": true + } + }, + "/api/v3/languageprofile/{id}": { + "delete": { + "tags": ["LanguageProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "deprecated": true + }, + "put": { + "tags": ["LanguageProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LanguageProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LanguageProfileResource" + } + } + } + } + }, + "deprecated": true + }, + "get": { + "tags": ["LanguageProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LanguageProfileResource" + } + } + } + } + } + } + }, + "/api/v3/languageprofile/schema": { + "get": { + "tags": ["LanguageProfileSchema"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LanguageProfileResource" + } + } + } + } + }, + "deprecated": true + } + }, + "/api/v3/localization": { + "get": { + "tags": ["Localization"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LocalizationResource" + } + } + } + } + } + } + }, + "/api/v3/localization/language": { + "get": { + "tags": ["Localization"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LocalizationLanguageResource" + } + } + } + } + } + } + }, + "/api/v3/localization/{id}": { + "get": { + "tags": ["Localization"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LocalizationResource" + } + } + } + } + } + } + }, + "/api/v3/log": { + "get": { + "tags": ["Log"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + }, + { + "name": "level", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LogResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/log/file": { + "get": { + "tags": ["LogFile"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogFileResource" + } + } + } + } + } + } + } + }, + "/api/v3/log/file/{filename}": { + "get": { + "tags": ["LogFile"], + "parameters": [ + { + "name": "filename", + "in": "path", + "required": true, + "schema": { + "pattern": "[-.a-zA-Z0-9]+?\\.txt", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/manualimport": { + "get": { + "tags": ["ManualImport"], + "parameters": [ + { + "name": "folder", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "downloadId", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "seriesId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "seasonNumber", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "filterExistingFiles", + "in": "query", + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ManualImportResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["ManualImport"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ManualImportReprocessResource" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/mediacover/{seriesId}/{filename}": { + "get": { + "tags": ["MediaCover"], + "parameters": [ + { + "name": "seriesId", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "filename", + "in": "path", + "required": true, + "schema": { + "pattern": "(.+)\\.(jpg|png|gif)", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/config/mediamanagement": { + "get": { + "tags": ["MediaManagementConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/mediamanagement/{id}": { + "put": { + "tags": ["MediaManagementConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["MediaManagementConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MediaManagementConfigResource" + } + } + } + } + } + } + }, + "/api/v3/metadata": { + "get": { + "tags": ["Metadata"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["Metadata"], + "parameters": [ + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + } + } + } + }, + "/api/v3/metadata/{id}": { + "put": { + "tags": ["Metadata"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + } + } + }, + "delete": { + "tags": ["Metadata"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["Metadata"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + } + } + } + }, + "/api/v3/metadata/schema": { + "get": { + "tags": ["Metadata"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + } + } + } + } + }, + "/api/v3/metadata/test": { + "post": { + "tags": ["Metadata"], + "parameters": [ + { + "name": "forceTest", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/metadata/testall": { + "post": { + "tags": ["Metadata"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/metadata/action/{name}": { + "post": { + "tags": ["Metadata"], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/wanted/missing": { + "get": { + "tags": ["Missing"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + }, + { + "name": "includeSeries", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeImages", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "monitored", + "in": "query", + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/wanted/missing/{id}": { + "get": { + "tags": ["Missing"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpisodeResource" + } + } + } + } + } + } + }, + "/api/v3/config/naming": { + "get": { + "tags": ["NamingConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/naming/{id}": { + "put": { + "tags": ["NamingConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["NamingConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NamingConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/naming/examples": { + "get": { + "tags": ["NamingConfig"], + "parameters": [ + { + "name": "renameEpisodes", + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "replaceIllegalCharacters", + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "colonReplacementFormat", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "customColonReplacementFormat", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "multiEpisodeStyle", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "standardEpisodeFormat", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "dailyEpisodeFormat", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "animeEpisodeFormat", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "seriesFolderFormat", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "seasonFolderFormat", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "specialsFolderFormat", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "resourceName", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/notification": { + "get": { + "tags": ["Notification"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["Notification"], + "parameters": [ + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + } + }, + "/api/v3/notification/{id}": { + "put": { + "tags": ["Notification"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "forceSave", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + }, + "delete": { + "tags": ["Notification"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["Notification"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + } + }, + "/api/v3/notification/schema": { + "get": { + "tags": ["Notification"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + } + } + }, + "/api/v3/notification/test": { + "post": { + "tags": ["Notification"], + "parameters": [ + { + "name": "forceTest", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/notification/testall": { + "post": { + "tags": ["Notification"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/notification/action/{name}": { + "post": { + "tags": ["Notification"], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/parse": { + "get": { + "tags": ["Parse"], + "parameters": [ + { + "name": "title", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "path", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ParseResource" + } + } + } + } + } + } + }, + "/ping": { + "get": { + "tags": ["Ping"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PingResource" + } + } + } + } + } + }, + "head": { + "tags": ["Ping"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PingResource" + } + } + } + } + } + } + }, + "/api/v3/qualitydefinition/{id}": { + "put": { + "tags": ["QualityDefinition"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + } + } + } + }, + "get": { + "tags": ["QualityDefinition"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + } + } + } + } + }, + "/api/v3/qualitydefinition": { + "get": { + "tags": ["QualityDefinition"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + } + } + } + } + } + }, + "/api/v3/qualitydefinition/update": { + "put": { + "tags": ["QualityDefinition"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + }, + "application/*+json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityDefinitionResource" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/qualitydefinition/limits": { + "get": { + "tags": ["QualityDefinition"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionLimitsResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionLimitsResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QualityDefinitionLimitsResource" + } + } + } + } + } + } + }, + "/api/v3/qualityprofile": { + "post": { + "tags": ["QualityProfile"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + } + } + }, + "get": { + "tags": ["QualityProfile"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + } + } + } + } + }, + "/api/v3/qualityprofile/{id}": { + "delete": { + "tags": ["QualityProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "put": { + "tags": ["QualityProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + } + } + }, + "get": { + "tags": ["QualityProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + } + } + } + }, + "/api/v3/qualityprofile/schema": { + "get": { + "tags": ["QualityProfileSchema"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QualityProfileResource" + } + } + } + } + } + } + }, + "/api/v3/queue/{id}": { + "delete": { + "tags": ["Queue"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "removeFromClient", + "in": "query", + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "blocklist", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "skipRedownload", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "changeCategory", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/queue/bulk": { + "delete": { + "tags": ["Queue"], + "parameters": [ + { + "name": "removeFromClient", + "in": "query", + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "blocklist", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "skipRedownload", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "changeCategory", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueueBulkResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/QueueBulkResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/QueueBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/queue": { + "get": { + "tags": ["Queue"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + }, + { + "name": "includeUnknownSeriesItems", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeSeries", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeEpisode", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "seriesIds", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "protocol", + "in": "query", + "schema": { + "$ref": "#/components/schemas/DownloadProtocol" + } + }, + { + "name": "languages", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "quality", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "status", + "in": "query", + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueStatus" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueueResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v3/queue/grab/{id}": { + "post": { + "tags": ["QueueAction"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/queue/grab/bulk": { + "post": { + "tags": ["QueueAction"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueueBulkResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/queue/details": { + "get": { + "tags": ["QueueDetails"], + "parameters": [ + { + "name": "seriesId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "episodeIds", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "includeSeries", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeEpisode", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueResource" + } + } + } + } + } + } + } + }, + "/api/v3/queue/status": { + "get": { + "tags": ["QueueStatus"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueueStatusResource" + } + } + } + } + } + } + }, + "/api/v3/release": { + "post": { + "tags": ["Release"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["Release"], + "parameters": [ + { + "name": "seriesId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "episodeId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "seasonNumber", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseResource" + } + } + } + } + } + } + } + }, + "/api/v3/releaseprofile": { + "post": { + "tags": ["ReleaseProfile"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + } + } + } + }, + "get": { + "tags": ["ReleaseProfile"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + } + } + } + } + } + }, + "/api/v3/releaseprofile/{id}": { + "delete": { + "tags": ["ReleaseProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "put": { + "tags": ["ReleaseProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + } + } + } + }, + "get": { + "tags": ["ReleaseProfile"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseProfileResource" + } + } + } + } + } + } + }, + "/api/v3/release/push": { + "post": { + "tags": ["ReleasePush"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReleaseResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseResource" + } + } + } + } + } + } + } + }, + "/api/v3/remotepathmapping": { + "post": { + "tags": ["RemotePathMapping"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + } + } + } + }, + "get": { + "tags": ["RemotePathMapping"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + } + } + } + } + } + }, + "/api/v3/remotepathmapping/{id}": { + "delete": { + "tags": ["RemotePathMapping"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "put": { + "tags": ["RemotePathMapping"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + } + } + } + }, + "get": { + "tags": ["RemotePathMapping"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemotePathMappingResource" + } + } + } + } + } + } + }, + "/api/v3/rename": { + "get": { + "tags": ["RenameEpisode"], + "parameters": [ + { + "name": "seriesId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "seasonNumber", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RenameEpisodeResource" + } + } + } + } + } + } + } + }, + "/api/v3/rootfolder": { + "post": { + "tags": ["RootFolder"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RootFolderResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RootFolderResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RootFolderResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RootFolderResource" + } + } + } + } + } + }, + "get": { + "tags": ["RootFolder"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RootFolderResource" + } + } + } + } + } + } + } + }, + "/api/v3/rootfolder/{id}": { + "delete": { + "tags": ["RootFolder"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["RootFolder"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RootFolderResource" + } + } + } + } + } + } + }, + "/api/v3/seasonpass": { + "post": { + "tags": ["SeasonPass"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeasonPassResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/series": { + "get": { + "tags": ["Series"], + "parameters": [ + { + "name": "tvdbId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "includeSeasonImages", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["Series"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + } + } + } + }, + "/api/v3/series/{id}": { + "get": { + "tags": ["Series"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "includeSeasonImages", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + } + } + }, + "put": { + "tags": ["Series"], + "parameters": [ + { + "name": "moveFiles", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + } + } + }, + "delete": { + "tags": ["Series"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "deleteFiles", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "addImportListExclusion", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/series/editor": { + "put": { + "tags": ["SeriesEditor"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeriesEditorResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/SeriesEditorResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/SeriesEditorResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + }, + "delete": { + "tags": ["SeriesEditor"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeriesEditorResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/SeriesEditorResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/SeriesEditorResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/series/{id}/folder": { + "get": { + "tags": ["SeriesFolder"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/series/import": { + "post": { + "tags": ["SeriesImport"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeriesResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeriesResource" + } + } + }, + "application/*+json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/series/lookup": { + "get": { + "tags": ["SeriesLookup"], + "parameters": [ + { + "name": "term", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeriesResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeriesResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + } + } + } + } + }, + "/content/{path}": { + "get": { + "tags": ["StaticResource"], + "parameters": [ + { + "name": "path", + "in": "path", + "required": true, + "schema": { + "pattern": "^(?!api/).*", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/": { + "get": { + "tags": ["StaticResource"], + "parameters": [ + { + "name": "path", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/{path}": { + "get": { + "tags": ["StaticResource"], + "parameters": [ + { + "name": "path", + "in": "path", + "required": true, + "schema": { + "pattern": "^(?!(api|feed)/).*", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/status": { + "get": { + "tags": ["System"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SystemResource" + } + } + } + } + } + } + }, + "/api/v3/system/routes": { + "get": { + "tags": ["System"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/routes/duplicate": { + "get": { + "tags": ["System"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/shutdown": { + "post": { + "tags": ["System"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/system/restart": { + "post": { + "tags": ["System"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v3/tag": { + "get": { + "tags": ["Tag"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["Tag"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + } + } + } + }, + "/api/v3/tag/{id}": { + "put": { + "tags": ["Tag"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + } + } + }, + "delete": { + "tags": ["Tag"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["Tag"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + } + } + } + }, + "/api/v3/tag/detail": { + "get": { + "tags": ["TagDetails"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagDetailsResource" + } + } + } + } + } + } + } + }, + "/api/v3/tag/detail/{id}": { + "get": { + "tags": ["TagDetails"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagDetailsResource" + } + } + } + } + } + } + }, + "/api/v3/system/task": { + "get": { + "tags": ["Task"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TaskResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TaskResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TaskResource" + } + } + } + } + } + } + } + }, + "/api/v3/system/task/{id}": { + "get": { + "tags": ["Task"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskResource" + } + } + } + } + } + } + }, + "/api/v3/config/ui/{id}": { + "put": { + "tags": ["UiConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + } + } + } + } + }, + "get": { + "tags": ["UiConfig"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + } + } + } + } + } + }, + "/api/v3/config/ui": { + "get": { + "tags": ["UiConfig"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + } + } + } + } + } + }, + "/api/v3/update": { + "get": { + "tags": ["Update"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UpdateResource" + } + } + } + } + } + } + } + }, + "/api/v3/log/file/update": { + "get": { + "tags": ["UpdateLogFile"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogFileResource" + } + } + } + } + } + } + } + }, + "/api/v3/log/file/update/{filename}": { + "get": { + "tags": ["UpdateLogFile"], + "parameters": [ + { + "name": "filename", + "in": "path", + "required": true, + "schema": { + "pattern": "[-.a-zA-Z0-9]+?\\.txt", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + } + }, + "components": { + "schemas": { + "AddSeriesOptions": { + "type": "object", + "properties": { + "ignoreEpisodesWithFiles": { + "type": "boolean" + }, + "ignoreEpisodesWithoutFiles": { + "type": "boolean" + }, + "monitor": { + "$ref": "#/components/schemas/MonitorTypes" + }, + "searchForMissingEpisodes": { + "type": "boolean" + }, + "searchForCutoffUnmetEpisodes": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "AlternateTitleResource": { + "type": "object", + "properties": { + "title": { + "type": "string", + "nullable": true + }, + "seasonNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "sceneSeasonNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "sceneOrigin": { + "type": "string", + "nullable": true + }, + "comment": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ApplyTags": { + "enum": ["add", "remove", "replace"], + "type": "string" + }, + "AuthenticationRequiredType": { + "enum": ["enabled", "disabledForLocalAddresses"], + "type": "string" + }, + "AuthenticationType": { + "enum": ["none", "basic", "forms", "external"], + "type": "string" + }, + "AutoTaggingResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "removeTagsAutomatically": { + "type": "boolean" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "specifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AutoTaggingSpecificationSchema" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "AutoTaggingSpecificationSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "negate": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "BackupResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "path": { + "type": "string", + "nullable": true + }, + "type": { + "$ref": "#/components/schemas/BackupType" + }, + "size": { + "type": "integer", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false + }, + "BackupType": { + "enum": ["scheduled", "manual", "update"], + "type": "string" + }, + "BlocklistBulkResource": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "BlocklistResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "seriesId": { + "type": "integer", + "format": "int32" + }, + "episodeIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "sourceTitle": { + "type": "string", + "nullable": true + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "date": { + "type": "string", + "format": "date-time" + }, + "protocol": { + "$ref": "#/components/schemas/DownloadProtocol" + }, + "indexer": { + "type": "string", + "nullable": true + }, + "message": { + "type": "string", + "nullable": true + }, + "series": { + "$ref": "#/components/schemas/SeriesResource" + } + }, + "additionalProperties": false + }, + "BlocklistResourcePagingResource": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "sortKey": { + "type": "string", + "nullable": true + }, + "sortDirection": { + "$ref": "#/components/schemas/SortDirection" + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BlocklistResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "CertificateValidationType": { + "enum": ["enabled", "disabledForLocalAddresses", "disabled"], + "type": "string" + }, + "Command": { + "type": "object", + "properties": { + "sendUpdatesToClient": { + "type": "boolean" + }, + "updateScheduledTask": { + "type": "boolean", + "readOnly": true + }, + "completionMessage": { + "type": "string", + "nullable": true, + "readOnly": true + }, + "requiresDiskAccess": { + "type": "boolean", + "readOnly": true + }, + "isExclusive": { + "type": "boolean", + "readOnly": true + }, + "isLongRunning": { + "type": "boolean", + "readOnly": true + }, + "name": { + "type": "string", + "nullable": true, + "readOnly": true + }, + "lastExecutionTime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "lastStartTime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "trigger": { + "$ref": "#/components/schemas/CommandTrigger" + }, + "suppressMessages": { + "type": "boolean" + }, + "clientUserAgent": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "CommandPriority": { + "enum": ["normal", "high", "low"], + "type": "string" + }, + "CommandResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "commandName": { + "type": "string", + "nullable": true + }, + "message": { + "type": "string", + "nullable": true + }, + "body": { + "$ref": "#/components/schemas/Command" + }, + "priority": { + "$ref": "#/components/schemas/CommandPriority" + }, + "status": { + "$ref": "#/components/schemas/CommandStatus" + }, + "result": { + "$ref": "#/components/schemas/CommandResult" + }, + "queued": { + "type": "string", + "format": "date-time" + }, + "started": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ended": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "duration": { + "type": "string", + "format": "date-span", + "nullable": true + }, + "exception": { + "type": "string", + "nullable": true + }, + "trigger": { + "$ref": "#/components/schemas/CommandTrigger" + }, + "clientUserAgent": { + "type": "string", + "nullable": true + }, + "stateChangeTime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "sendUpdatesToClient": { + "type": "boolean" + }, + "updateScheduledTask": { + "type": "boolean" + }, + "lastExecutionTime": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "additionalProperties": false + }, + "CommandResult": { + "enum": ["unknown", "successful", "unsuccessful"], + "type": "string" + }, + "CommandStatus": { + "enum": [ + "queued", + "started", + "completed", + "failed", + "aborted", + "cancelled", + "orphaned" + ], + "type": "string" + }, + "CommandTrigger": { + "enum": ["unspecified", "manual", "scheduled"], + "type": "string" + }, + "CustomFilterResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string", + "nullable": true + }, + "label": { + "type": "string", + "nullable": true + }, + "filters": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": {} + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "CustomFormatBulkResource": { + "type": "object", + "properties": { + "ids": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "includeCustomFormatWhenRenaming": { + "type": "boolean", + "nullable": true + } + }, + "additionalProperties": false + }, + "CustomFormatResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "includeCustomFormatWhenRenaming": { + "type": "boolean", + "nullable": true + }, + "specifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatSpecificationSchema" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "CustomFormatSpecificationSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "infoLink": { + "type": "string", + "nullable": true + }, + "negate": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "presets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatSpecificationSchema" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "DatabaseType": { + "enum": ["sqLite", "postgreSQL"], + "type": "string" + }, + "DelayProfileResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "enableUsenet": { + "type": "boolean" + }, + "enableTorrent": { + "type": "boolean" + }, + "preferredProtocol": { + "$ref": "#/components/schemas/DownloadProtocol" + }, + "usenetDelay": { + "type": "integer", + "format": "int32" + }, + "torrentDelay": { + "type": "integer", + "format": "int32" + }, + "bypassIfHighestQuality": { + "type": "boolean" + }, + "bypassIfAboveCustomFormatScore": { + "type": "boolean" + }, + "minimumCustomFormatScore": { + "type": "integer", + "format": "int32" + }, + "order": { + "type": "integer", + "format": "int32" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "DiskSpaceResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "path": { + "type": "string", + "nullable": true + }, + "label": { + "type": "string", + "nullable": true + }, + "freeSpace": { + "type": "integer", + "format": "int64" + }, + "totalSpace": { + "type": "integer", + "format": "int64" + } + }, + "additionalProperties": false + }, + "DownloadClientBulkResource": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "applyTags": { + "$ref": "#/components/schemas/ApplyTags" + }, + "enable": { + "type": "boolean", + "nullable": true + }, + "priority": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "removeCompletedDownloads": { + "type": "boolean", + "nullable": true + }, + "removeFailedDownloads": { + "type": "boolean", + "nullable": true + } + }, + "additionalProperties": false + }, + "DownloadClientConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "downloadClientWorkingFolders": { + "type": "string", + "nullable": true + }, + "enableCompletedDownloadHandling": { + "type": "boolean" + }, + "autoRedownloadFailed": { + "type": "boolean" + }, + "autoRedownloadFailedFromInteractiveSearch": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "DownloadClientResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "configContract": { + "type": "string", + "nullable": true + }, + "infoLink": { + "type": "string", + "nullable": true + }, + "message": { + "$ref": "#/components/schemas/ProviderMessage" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "presets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadClientResource" + }, + "nullable": true + }, + "enable": { + "type": "boolean" + }, + "protocol": { + "$ref": "#/components/schemas/DownloadProtocol" + }, + "priority": { + "type": "integer", + "format": "int32" + }, + "removeCompletedDownloads": { + "type": "boolean" + }, + "removeFailedDownloads": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "DownloadProtocol": { + "enum": ["unknown", "usenet", "torrent"], + "type": "string" + }, + "EpisodeFileListResource": { + "type": "object", + "properties": { + "episodeFileIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "sceneName": { + "type": "string", + "nullable": true + }, + "releaseGroup": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "EpisodeFileResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "seriesId": { + "type": "integer", + "format": "int32" + }, + "seasonNumber": { + "type": "integer", + "format": "int32" + }, + "relativePath": { + "type": "string", + "nullable": true + }, + "path": { + "type": "string", + "nullable": true + }, + "size": { + "type": "integer", + "format": "int64" + }, + "dateAdded": { + "type": "string", + "format": "date-time" + }, + "sceneName": { + "type": "string", + "nullable": true + }, + "releaseGroup": { + "type": "string", + "nullable": true + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32" + }, + "indexerFlags": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "releaseType": { + "$ref": "#/components/schemas/ReleaseType" + }, + "mediaInfo": { + "$ref": "#/components/schemas/MediaInfoResource" + }, + "qualityCutoffNotMet": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "EpisodeHistoryEventType": { + "enum": [ + "unknown", + "grabbed", + "seriesFolderImported", + "downloadFolderImported", + "downloadFailed", + "episodeFileDeleted", + "episodeFileRenamed", + "downloadIgnored" + ], + "type": "string" + }, + "EpisodeResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "seriesId": { + "type": "integer", + "format": "int32" + }, + "tvdbId": { + "type": "integer", + "format": "int32" + }, + "episodeFileId": { + "type": "integer", + "format": "int32" + }, + "seasonNumber": { + "type": "integer", + "format": "int32" + }, + "episodeNumber": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string", + "nullable": true + }, + "airDate": { + "type": "string", + "nullable": true + }, + "airDateUtc": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "lastSearchTime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "runtime": { + "type": "integer", + "format": "int32" + }, + "finaleType": { + "type": "string", + "nullable": true + }, + "overview": { + "type": "string", + "nullable": true + }, + "episodeFile": { + "$ref": "#/components/schemas/EpisodeFileResource" + }, + "hasFile": { + "type": "boolean" + }, + "monitored": { + "type": "boolean" + }, + "absoluteEpisodeNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "sceneAbsoluteEpisodeNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "sceneEpisodeNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "sceneSeasonNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "unverifiedSceneNumbering": { + "type": "boolean" + }, + "endTime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "grabDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "series": { + "$ref": "#/components/schemas/SeriesResource" + }, + "images": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaCover" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "EpisodeResourcePagingResource": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "sortKey": { + "type": "string", + "nullable": true + }, + "sortDirection": { + "$ref": "#/components/schemas/SortDirection" + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EpisodeResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "EpisodeTitleRequiredType": { + "enum": ["always", "bulkSeasonReleases", "never"], + "type": "string" + }, + "EpisodesMonitoredResource": { + "type": "object", + "properties": { + "episodeIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "monitored": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "Field": { + "type": "object", + "properties": { + "order": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "label": { + "type": "string", + "nullable": true + }, + "unit": { + "type": "string", + "nullable": true + }, + "helpText": { + "type": "string", + "nullable": true + }, + "helpTextWarning": { + "type": "string", + "nullable": true + }, + "helpLink": { + "type": "string", + "nullable": true + }, + "value": { + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + }, + "advanced": { + "type": "boolean" + }, + "selectOptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SelectOption" + }, + "nullable": true + }, + "selectOptionsProviderAction": { + "type": "string", + "nullable": true + }, + "section": { + "type": "string", + "nullable": true + }, + "hidden": { + "type": "string", + "nullable": true + }, + "privacy": { + "$ref": "#/components/schemas/PrivacyLevel" + }, + "placeholder": { + "type": "string", + "nullable": true + }, + "isFloat": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "FileDateType": { + "enum": ["none", "localAirDate", "utcAirDate"], + "type": "string" + }, + "HealthCheckResult": { + "enum": ["ok", "notice", "warning", "error"], + "type": "string" + }, + "HealthResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "source": { + "type": "string", + "nullable": true + }, + "type": { + "$ref": "#/components/schemas/HealthCheckResult" + }, + "message": { + "type": "string", + "nullable": true + }, + "wikiUrl": { + "$ref": "#/components/schemas/HttpUri" + } + }, + "additionalProperties": false + }, + "HistoryResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "episodeId": { + "type": "integer", + "format": "int32" + }, + "seriesId": { + "type": "integer", + "format": "int32" + }, + "sourceTitle": { + "type": "string", + "nullable": true + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32" + }, + "qualityCutoffNotMet": { + "type": "boolean" + }, + "date": { + "type": "string", + "format": "date-time" + }, + "downloadId": { + "type": "string", + "nullable": true + }, + "eventType": { + "$ref": "#/components/schemas/EpisodeHistoryEventType" + }, + "data": { + "type": "object", + "additionalProperties": { + "type": "string", + "nullable": true + }, + "nullable": true + }, + "episode": { + "$ref": "#/components/schemas/EpisodeResource" + }, + "series": { + "$ref": "#/components/schemas/SeriesResource" + } + }, + "additionalProperties": false + }, + "HistoryResourcePagingResource": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "sortKey": { + "type": "string", + "nullable": true + }, + "sortDirection": { + "$ref": "#/components/schemas/SortDirection" + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "HostConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "bindAddress": { + "type": "string", + "nullable": true + }, + "port": { + "type": "integer", + "format": "int32" + }, + "sslPort": { + "type": "integer", + "format": "int32" + }, + "enableSsl": { + "type": "boolean" + }, + "launchBrowser": { + "type": "boolean" + }, + "authenticationMethod": { + "$ref": "#/components/schemas/AuthenticationType" + }, + "authenticationRequired": { + "$ref": "#/components/schemas/AuthenticationRequiredType" + }, + "analyticsEnabled": { + "type": "boolean" + }, + "username": { + "type": "string", + "nullable": true + }, + "password": { + "type": "string", + "nullable": true + }, + "passwordConfirmation": { + "type": "string", + "nullable": true + }, + "logLevel": { + "type": "string", + "nullable": true + }, + "logSizeLimit": { + "type": "integer", + "format": "int32" + }, + "consoleLogLevel": { + "type": "string", + "nullable": true + }, + "branch": { + "type": "string", + "nullable": true + }, + "apiKey": { + "type": "string", + "nullable": true + }, + "sslCertPath": { + "type": "string", + "nullable": true + }, + "sslCertPassword": { + "type": "string", + "nullable": true + }, + "urlBase": { + "type": "string", + "nullable": true + }, + "instanceName": { + "type": "string", + "nullable": true + }, + "applicationUrl": { + "type": "string", + "nullable": true + }, + "updateAutomatically": { + "type": "boolean" + }, + "updateMechanism": { + "$ref": "#/components/schemas/UpdateMechanism" + }, + "updateScriptPath": { + "type": "string", + "nullable": true + }, + "proxyEnabled": { + "type": "boolean" + }, + "proxyType": { + "$ref": "#/components/schemas/ProxyType" + }, + "proxyHostname": { + "type": "string", + "nullable": true + }, + "proxyPort": { + "type": "integer", + "format": "int32" + }, + "proxyUsername": { + "type": "string", + "nullable": true + }, + "proxyPassword": { + "type": "string", + "nullable": true + }, + "proxyBypassFilter": { + "type": "string", + "nullable": true + }, + "proxyBypassLocalAddresses": { + "type": "boolean" + }, + "certificateValidation": { + "$ref": "#/components/schemas/CertificateValidationType" + }, + "backupFolder": { + "type": "string", + "nullable": true + }, + "backupInterval": { + "type": "integer", + "format": "int32" + }, + "backupRetention": { + "type": "integer", + "format": "int32" + }, + "trustCgnatIpAddresses": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "HttpUri": { + "type": "object", + "properties": { + "fullUri": { + "type": "string", + "nullable": true, + "readOnly": true + }, + "scheme": { + "type": "string", + "nullable": true, + "readOnly": true + }, + "host": { + "type": "string", + "nullable": true, + "readOnly": true + }, + "port": { + "type": "integer", + "format": "int32", + "nullable": true, + "readOnly": true + }, + "path": { + "type": "string", + "nullable": true, + "readOnly": true + }, + "query": { + "type": "string", + "nullable": true, + "readOnly": true + }, + "fragment": { + "type": "string", + "nullable": true, + "readOnly": true + } + }, + "additionalProperties": false + }, + "ImportListBulkResource": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "applyTags": { + "$ref": "#/components/schemas/ApplyTags" + }, + "enableAutomaticAdd": { + "type": "boolean", + "nullable": true + }, + "rootFolderPath": { + "type": "string", + "nullable": true + }, + "qualityProfileId": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "additionalProperties": false + }, + "ImportListConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "listSyncLevel": { + "$ref": "#/components/schemas/ListSyncLevelType" + }, + "listSyncTag": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ImportListExclusionBulkResource": { + "type": "object", + "properties": { + "ids": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ImportListExclusionResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "tvdbId": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ImportListExclusionResourcePagingResource": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "sortKey": { + "type": "string", + "nullable": true + }, + "sortDirection": { + "$ref": "#/components/schemas/SortDirection" + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListExclusionResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ImportListResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "configContract": { + "type": "string", + "nullable": true + }, + "infoLink": { + "type": "string", + "nullable": true + }, + "message": { + "$ref": "#/components/schemas/ProviderMessage" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "presets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportListResource" + }, + "nullable": true + }, + "enableAutomaticAdd": { + "type": "boolean" + }, + "searchForMissingEpisodes": { + "type": "boolean" + }, + "shouldMonitor": { + "$ref": "#/components/schemas/MonitorTypes" + }, + "monitorNewItems": { + "$ref": "#/components/schemas/NewItemMonitorTypes" + }, + "rootFolderPath": { + "type": "string", + "nullable": true + }, + "qualityProfileId": { + "type": "integer", + "format": "int32" + }, + "seriesType": { + "$ref": "#/components/schemas/SeriesTypes" + }, + "seasonFolder": { + "type": "boolean" + }, + "listType": { + "$ref": "#/components/schemas/ImportListType" + }, + "listOrder": { + "type": "integer", + "format": "int32" + }, + "minRefreshInterval": { + "type": "string", + "format": "date-span" + } + }, + "additionalProperties": false + }, + "ImportListType": { + "enum": ["program", "plex", "trakt", "simkl", "other", "advanced"], + "type": "string" + }, + "ImportRejectionResource": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "nullable": true + }, + "type": { + "$ref": "#/components/schemas/RejectionType" + } + }, + "additionalProperties": false + }, + "IndexerBulkResource": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "applyTags": { + "$ref": "#/components/schemas/ApplyTags" + }, + "enableRss": { + "type": "boolean", + "nullable": true + }, + "enableAutomaticSearch": { + "type": "boolean", + "nullable": true + }, + "enableInteractiveSearch": { + "type": "boolean", + "nullable": true + }, + "priority": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "additionalProperties": false + }, + "IndexerConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "minimumAge": { + "type": "integer", + "format": "int32" + }, + "retention": { + "type": "integer", + "format": "int32" + }, + "maximumSize": { + "type": "integer", + "format": "int32" + }, + "rssSyncInterval": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "IndexerFlagResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "nameLower": { + "type": "string", + "nullable": true, + "readOnly": true + } + }, + "additionalProperties": false + }, + "IndexerResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "configContract": { + "type": "string", + "nullable": true + }, + "infoLink": { + "type": "string", + "nullable": true + }, + "message": { + "$ref": "#/components/schemas/ProviderMessage" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "presets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerResource" + }, + "nullable": true + }, + "enableRss": { + "type": "boolean" + }, + "enableAutomaticSearch": { + "type": "boolean" + }, + "enableInteractiveSearch": { + "type": "boolean" + }, + "supportsRss": { + "type": "boolean" + }, + "supportsSearch": { + "type": "boolean" + }, + "protocol": { + "$ref": "#/components/schemas/DownloadProtocol" + }, + "priority": { + "type": "integer", + "format": "int32" + }, + "seasonSearchMaximumSingleEpisodeAge": { + "type": "integer", + "format": "int32" + }, + "downloadClientId": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "Language": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LanguageProfileItemResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "language": { + "$ref": "#/components/schemas/Language" + }, + "allowed": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "LanguageProfileResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "upgradeAllowed": { + "type": "boolean" + }, + "cutoff": { + "$ref": "#/components/schemas/Language" + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LanguageProfileItemResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "LanguageResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "nameLower": { + "type": "string", + "nullable": true, + "readOnly": true + } + }, + "additionalProperties": false + }, + "ListSyncLevelType": { + "enum": ["disabled", "logOnly", "keepAndUnmonitor", "keepAndTag"], + "type": "string" + }, + "LocalizationLanguageResource": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LocalizationResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "strings": { + "type": "object", + "additionalProperties": { + "type": "string", + "nullable": true + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "LogFileResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "filename": { + "type": "string", + "nullable": true + }, + "lastWriteTime": { + "type": "string", + "format": "date-time" + }, + "contentsUrl": { + "type": "string", + "nullable": true + }, + "downloadUrl": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LogResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "exception": { + "type": "string", + "nullable": true + }, + "exceptionType": { + "type": "string", + "nullable": true + }, + "level": { + "type": "string", + "nullable": true + }, + "logger": { + "type": "string", + "nullable": true + }, + "message": { + "type": "string", + "nullable": true + }, + "method": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LogResourcePagingResource": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "sortKey": { + "type": "string", + "nullable": true + }, + "sortDirection": { + "$ref": "#/components/schemas/SortDirection" + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ManualImportReprocessResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "path": { + "type": "string", + "nullable": true + }, + "seriesId": { + "type": "integer", + "format": "int32" + }, + "seasonNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "episodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EpisodeResource" + }, + "nullable": true + }, + "episodeIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "releaseGroup": { + "type": "string", + "nullable": true + }, + "downloadId": { + "type": "string", + "nullable": true + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32" + }, + "indexerFlags": { + "type": "integer", + "format": "int32" + }, + "releaseType": { + "$ref": "#/components/schemas/ReleaseType" + }, + "rejections": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportRejectionResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ManualImportResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "path": { + "type": "string", + "nullable": true + }, + "relativePath": { + "type": "string", + "nullable": true + }, + "folderName": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "size": { + "type": "integer", + "format": "int64" + }, + "series": { + "$ref": "#/components/schemas/SeriesResource" + }, + "seasonNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "episodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EpisodeResource" + }, + "nullable": true + }, + "episodeFileId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "releaseGroup": { + "type": "string", + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "qualityWeight": { + "type": "integer", + "format": "int32" + }, + "downloadId": { + "type": "string", + "nullable": true + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32" + }, + "indexerFlags": { + "type": "integer", + "format": "int32" + }, + "releaseType": { + "$ref": "#/components/schemas/ReleaseType" + }, + "rejections": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImportRejectionResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "MediaCover": { + "type": "object", + "properties": { + "coverType": { + "$ref": "#/components/schemas/MediaCoverTypes" + }, + "url": { + "type": "string", + "nullable": true + }, + "remoteUrl": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "MediaCoverTypes": { + "enum": [ + "unknown", + "poster", + "banner", + "fanart", + "screenshot", + "headshot", + "clearlogo" + ], + "type": "string" + }, + "MediaInfoResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "audioBitrate": { + "type": "integer", + "format": "int64" + }, + "audioChannels": { + "type": "number", + "format": "double" + }, + "audioCodec": { + "type": "string", + "nullable": true + }, + "audioLanguages": { + "type": "string", + "nullable": true + }, + "audioStreamCount": { + "type": "integer", + "format": "int32" + }, + "videoBitDepth": { + "type": "integer", + "format": "int32" + }, + "videoBitrate": { + "type": "integer", + "format": "int64" + }, + "videoCodec": { + "type": "string", + "nullable": true + }, + "videoFps": { + "type": "number", + "format": "double" + }, + "videoDynamicRange": { + "type": "string", + "nullable": true + }, + "videoDynamicRangeType": { + "type": "string", + "nullable": true + }, + "resolution": { + "type": "string", + "nullable": true + }, + "runTime": { + "type": "string", + "nullable": true + }, + "scanType": { + "type": "string", + "nullable": true + }, + "subtitles": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "MediaManagementConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "autoUnmonitorPreviouslyDownloadedEpisodes": { + "type": "boolean" + }, + "recycleBin": { + "type": "string", + "nullable": true + }, + "recycleBinCleanupDays": { + "type": "integer", + "format": "int32" + }, + "downloadPropersAndRepacks": { + "$ref": "#/components/schemas/ProperDownloadTypes" + }, + "createEmptySeriesFolders": { + "type": "boolean" + }, + "deleteEmptyFolders": { + "type": "boolean" + }, + "fileDate": { + "$ref": "#/components/schemas/FileDateType" + }, + "rescanAfterRefresh": { + "$ref": "#/components/schemas/RescanAfterRefreshType" + }, + "setPermissionsLinux": { + "type": "boolean" + }, + "chmodFolder": { + "type": "string", + "nullable": true + }, + "chownGroup": { + "type": "string", + "nullable": true + }, + "episodeTitleRequired": { + "$ref": "#/components/schemas/EpisodeTitleRequiredType" + }, + "skipFreeSpaceCheckWhenImporting": { + "type": "boolean" + }, + "minimumFreeSpaceWhenImporting": { + "type": "integer", + "format": "int32" + }, + "copyUsingHardlinks": { + "type": "boolean" + }, + "useScriptImport": { + "type": "boolean" + }, + "scriptImportPath": { + "type": "string", + "nullable": true + }, + "importExtraFiles": { + "type": "boolean" + }, + "extraFileExtensions": { + "type": "string", + "nullable": true + }, + "enableMediaInfo": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "MetadataResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "configContract": { + "type": "string", + "nullable": true + }, + "infoLink": { + "type": "string", + "nullable": true + }, + "message": { + "$ref": "#/components/schemas/ProviderMessage" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "presets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetadataResource" + }, + "nullable": true + }, + "enable": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "MonitorTypes": { + "enum": [ + "unknown", + "all", + "future", + "missing", + "existing", + "firstSeason", + "lastSeason", + "latestSeason", + "pilot", + "recent", + "monitorSpecials", + "unmonitorSpecials", + "none", + "skip" + ], + "type": "string" + }, + "MonitoringOptions": { + "type": "object", + "properties": { + "ignoreEpisodesWithFiles": { + "type": "boolean" + }, + "ignoreEpisodesWithoutFiles": { + "type": "boolean" + }, + "monitor": { + "$ref": "#/components/schemas/MonitorTypes" + } + }, + "additionalProperties": false + }, + "NamingConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "renameEpisodes": { + "type": "boolean" + }, + "replaceIllegalCharacters": { + "type": "boolean" + }, + "colonReplacementFormat": { + "type": "integer", + "format": "int32" + }, + "customColonReplacementFormat": { + "type": "string", + "nullable": true + }, + "multiEpisodeStyle": { + "type": "integer", + "format": "int32" + }, + "standardEpisodeFormat": { + "type": "string", + "nullable": true + }, + "dailyEpisodeFormat": { + "type": "string", + "nullable": true + }, + "animeEpisodeFormat": { + "type": "string", + "nullable": true + }, + "seriesFolderFormat": { + "type": "string", + "nullable": true + }, + "seasonFolderFormat": { + "type": "string", + "nullable": true + }, + "specialsFolderFormat": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "NewItemMonitorTypes": { + "enum": ["all", "none"], + "type": "string" + }, + "NotificationResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "implementationName": { + "type": "string", + "nullable": true + }, + "implementation": { + "type": "string", + "nullable": true + }, + "configContract": { + "type": "string", + "nullable": true + }, + "infoLink": { + "type": "string", + "nullable": true + }, + "message": { + "$ref": "#/components/schemas/ProviderMessage" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "presets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationResource" + }, + "nullable": true + }, + "link": { + "type": "string", + "nullable": true + }, + "onGrab": { + "type": "boolean" + }, + "onDownload": { + "type": "boolean" + }, + "onUpgrade": { + "type": "boolean" + }, + "onImportComplete": { + "type": "boolean" + }, + "onRename": { + "type": "boolean" + }, + "onSeriesAdd": { + "type": "boolean" + }, + "onSeriesDelete": { + "type": "boolean" + }, + "onEpisodeFileDelete": { + "type": "boolean" + }, + "onEpisodeFileDeleteForUpgrade": { + "type": "boolean" + }, + "onHealthIssue": { + "type": "boolean" + }, + "includeHealthWarnings": { + "type": "boolean" + }, + "onHealthRestored": { + "type": "boolean" + }, + "onApplicationUpdate": { + "type": "boolean" + }, + "onManualInteractionRequired": { + "type": "boolean" + }, + "supportsOnGrab": { + "type": "boolean" + }, + "supportsOnDownload": { + "type": "boolean" + }, + "supportsOnUpgrade": { + "type": "boolean" + }, + "supportsOnImportComplete": { + "type": "boolean" + }, + "supportsOnRename": { + "type": "boolean" + }, + "supportsOnSeriesAdd": { + "type": "boolean" + }, + "supportsOnSeriesDelete": { + "type": "boolean" + }, + "supportsOnEpisodeFileDelete": { + "type": "boolean" + }, + "supportsOnEpisodeFileDeleteForUpgrade": { + "type": "boolean" + }, + "supportsOnHealthIssue": { + "type": "boolean" + }, + "supportsOnHealthRestored": { + "type": "boolean" + }, + "supportsOnApplicationUpdate": { + "type": "boolean" + }, + "supportsOnManualInteractionRequired": { + "type": "boolean" + }, + "testCommand": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ParseResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string", + "nullable": true + }, + "parsedEpisodeInfo": { + "$ref": "#/components/schemas/ParsedEpisodeInfo" + }, + "series": { + "$ref": "#/components/schemas/SeriesResource" + }, + "episodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EpisodeResource" + }, + "nullable": true + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ParsedEpisodeInfo": { + "type": "object", + "properties": { + "releaseTitle": { + "type": "string", + "nullable": true + }, + "seriesTitle": { + "type": "string", + "nullable": true + }, + "seriesTitleInfo": { + "$ref": "#/components/schemas/SeriesTitleInfo" + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "seasonNumber": { + "type": "integer", + "format": "int32" + }, + "episodeNumbers": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "absoluteEpisodeNumbers": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "specialAbsoluteEpisodeNumbers": { + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "nullable": true + }, + "airDate": { + "type": "string", + "nullable": true + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "fullSeason": { + "type": "boolean" + }, + "isPartialSeason": { + "type": "boolean" + }, + "isMultiSeason": { + "type": "boolean" + }, + "isSeasonExtra": { + "type": "boolean" + }, + "isSplitEpisode": { + "type": "boolean" + }, + "isMiniSeries": { + "type": "boolean" + }, + "special": { + "type": "boolean" + }, + "releaseGroup": { + "type": "string", + "nullable": true + }, + "releaseHash": { + "type": "string", + "nullable": true + }, + "seasonPart": { + "type": "integer", + "format": "int32" + }, + "releaseTokens": { + "type": "string", + "nullable": true + }, + "dailyPart": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "isDaily": { + "type": "boolean", + "readOnly": true + }, + "isAbsoluteNumbering": { + "type": "boolean", + "readOnly": true + }, + "isPossibleSpecialEpisode": { + "type": "boolean", + "readOnly": true + }, + "isPossibleSceneSeasonSpecial": { + "type": "boolean", + "readOnly": true + }, + "releaseType": { + "$ref": "#/components/schemas/ReleaseType" + } + }, + "additionalProperties": false + }, + "PingResource": { + "type": "object", + "properties": { + "status": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "PrivacyLevel": { + "enum": ["normal", "password", "apiKey", "userName"], + "type": "string" + }, + "ProfileFormatItemResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "format": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "score": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ProperDownloadTypes": { + "enum": ["preferAndUpgrade", "doNotUpgrade", "doNotPrefer"], + "type": "string" + }, + "ProviderMessage": { + "type": "object", + "properties": { + "message": { + "type": "string", + "nullable": true + }, + "type": { + "$ref": "#/components/schemas/ProviderMessageType" + } + }, + "additionalProperties": false + }, + "ProviderMessageType": { + "enum": ["info", "warning", "error"], + "type": "string" + }, + "ProxyType": { + "enum": ["http", "socks4", "socks5"], + "type": "string" + }, + "Quality": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "source": { + "$ref": "#/components/schemas/QualitySource" + }, + "resolution": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "QualityDefinitionLimitsResource": { + "type": "object", + "properties": { + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "QualityDefinitionResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "quality": { + "$ref": "#/components/schemas/Quality" + }, + "title": { + "type": "string", + "nullable": true + }, + "weight": { + "type": "integer", + "format": "int32" + }, + "minSize": { + "type": "number", + "format": "double", + "nullable": true + }, + "maxSize": { + "type": "number", + "format": "double", + "nullable": true + }, + "preferredSize": { + "type": "number", + "format": "double", + "nullable": true + } + }, + "additionalProperties": false + }, + "QualityModel": { + "type": "object", + "properties": { + "quality": { + "$ref": "#/components/schemas/Quality" + }, + "revision": { + "$ref": "#/components/schemas/Revision" + } + }, + "additionalProperties": false + }, + "QualityProfileQualityItemResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/Quality" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityProfileQualityItemResource" + }, + "nullable": true + }, + "allowed": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "QualityProfileResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "upgradeAllowed": { + "type": "boolean" + }, + "cutoff": { + "type": "integer", + "format": "int32" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityProfileQualityItemResource" + }, + "nullable": true + }, + "minFormatScore": { + "type": "integer", + "format": "int32" + }, + "cutoffFormatScore": { + "type": "integer", + "format": "int32" + }, + "minUpgradeFormatScore": { + "type": "integer", + "format": "int32" + }, + "formatItems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProfileFormatItemResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "QualitySource": { + "enum": [ + "unknown", + "television", + "televisionRaw", + "web", + "webRip", + "dvd", + "bluray", + "blurayRaw" + ], + "type": "string" + }, + "QueueBulkResource": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "QueueResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "seriesId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "episodeId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "seasonNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "series": { + "$ref": "#/components/schemas/SeriesResource" + }, + "episode": { + "$ref": "#/components/schemas/EpisodeResource" + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32" + }, + "size": { + "type": "number", + "format": "double" + }, + "title": { + "type": "string", + "nullable": true + }, + "estimatedCompletionTime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "added": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "status": { + "$ref": "#/components/schemas/QueueStatus" + }, + "trackedDownloadStatus": { + "$ref": "#/components/schemas/TrackedDownloadStatus" + }, + "trackedDownloadState": { + "$ref": "#/components/schemas/TrackedDownloadState" + }, + "statusMessages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TrackedDownloadStatusMessage" + }, + "nullable": true + }, + "errorMessage": { + "type": "string", + "nullable": true + }, + "downloadId": { + "type": "string", + "nullable": true + }, + "protocol": { + "$ref": "#/components/schemas/DownloadProtocol" + }, + "downloadClient": { + "type": "string", + "nullable": true + }, + "downloadClientHasPostImportCategory": { + "type": "boolean" + }, + "indexer": { + "type": "string", + "nullable": true + }, + "outputPath": { + "type": "string", + "nullable": true + }, + "episodeHasFile": { + "type": "boolean" + }, + "sizeleft": { + "type": "number", + "format": "double", + "deprecated": true + }, + "timeleft": { + "type": "string", + "format": "date-span", + "nullable": true, + "deprecated": true + } + }, + "additionalProperties": false + }, + "QueueResourcePagingResource": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "sortKey": { + "type": "string", + "nullable": true + }, + "sortDirection": { + "$ref": "#/components/schemas/SortDirection" + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "QueueStatus": { + "enum": [ + "unknown", + "queued", + "paused", + "downloading", + "completed", + "failed", + "warning", + "delay", + "downloadClientUnavailable", + "fallback" + ], + "type": "string" + }, + "QueueStatusResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "totalCount": { + "type": "integer", + "format": "int32" + }, + "count": { + "type": "integer", + "format": "int32" + }, + "unknownCount": { + "type": "integer", + "format": "int32" + }, + "errors": { + "type": "boolean" + }, + "warnings": { + "type": "boolean" + }, + "unknownErrors": { + "type": "boolean" + }, + "unknownWarnings": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "Ratings": { + "type": "object", + "properties": { + "votes": { + "type": "integer", + "format": "int32" + }, + "value": { + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + }, + "RejectionType": { + "enum": ["permanent", "temporary"], + "type": "string" + }, + "ReleaseEpisodeResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "seasonNumber": { + "type": "integer", + "format": "int32" + }, + "episodeNumber": { + "type": "integer", + "format": "int32" + }, + "absoluteEpisodeNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "title": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ReleaseProfileResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "enabled": { + "type": "boolean" + }, + "required": { + "nullable": true + }, + "ignored": { + "nullable": true + }, + "indexerId": { + "type": "integer", + "format": "int32" + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ReleaseResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "guid": { + "type": "string", + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/QualityModel" + }, + "qualityWeight": { + "type": "integer", + "format": "int32" + }, + "age": { + "type": "integer", + "format": "int32" + }, + "ageHours": { + "type": "number", + "format": "double" + }, + "ageMinutes": { + "type": "number", + "format": "double" + }, + "size": { + "type": "integer", + "format": "int64" + }, + "indexerId": { + "type": "integer", + "format": "int32" + }, + "indexer": { + "type": "string", + "nullable": true + }, + "releaseGroup": { + "type": "string", + "nullable": true + }, + "subGroup": { + "type": "string", + "nullable": true + }, + "releaseHash": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string", + "nullable": true + }, + "fullSeason": { + "type": "boolean" + }, + "sceneSource": { + "type": "boolean" + }, + "seasonNumber": { + "type": "integer", + "format": "int32" + }, + "languages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + }, + "nullable": true + }, + "languageWeight": { + "type": "integer", + "format": "int32" + }, + "airDate": { + "type": "string", + "nullable": true + }, + "seriesTitle": { + "type": "string", + "nullable": true + }, + "episodeNumbers": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "absoluteEpisodeNumbers": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "mappedSeasonNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "mappedEpisodeNumbers": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "mappedAbsoluteEpisodeNumbers": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "mappedSeriesId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "mappedEpisodeInfo": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReleaseEpisodeResource" + }, + "nullable": true + }, + "approved": { + "type": "boolean" + }, + "temporarilyRejected": { + "type": "boolean" + }, + "rejected": { + "type": "boolean" + }, + "tvdbId": { + "type": "integer", + "format": "int32" + }, + "tvRageId": { + "type": "integer", + "format": "int32" + }, + "imdbId": { + "type": "string", + "nullable": true + }, + "rejections": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "publishDate": { + "type": "string", + "format": "date-time" + }, + "commentUrl": { + "type": "string", + "nullable": true + }, + "downloadUrl": { + "type": "string", + "nullable": true + }, + "infoUrl": { + "type": "string", + "nullable": true + }, + "episodeRequested": { + "type": "boolean" + }, + "downloadAllowed": { + "type": "boolean" + }, + "releaseWeight": { + "type": "integer", + "format": "int32" + }, + "customFormats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomFormatResource" + }, + "nullable": true + }, + "customFormatScore": { + "type": "integer", + "format": "int32" + }, + "sceneMapping": { + "$ref": "#/components/schemas/AlternateTitleResource" + }, + "magnetUrl": { + "type": "string", + "nullable": true + }, + "infoHash": { + "type": "string", + "nullable": true + }, + "seeders": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "leechers": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "protocol": { + "$ref": "#/components/schemas/DownloadProtocol" + }, + "indexerFlags": { + "type": "integer", + "format": "int32" + }, + "isDaily": { + "type": "boolean" + }, + "isAbsoluteNumbering": { + "type": "boolean" + }, + "isPossibleSpecialEpisode": { + "type": "boolean" + }, + "special": { + "type": "boolean" + }, + "seriesId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "episodeId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "episodeIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "downloadClientId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "downloadClient": { + "type": "string", + "nullable": true + }, + "shouldOverride": { + "type": "boolean", + "nullable": true + } + }, + "additionalProperties": false + }, + "ReleaseType": { + "enum": ["unknown", "singleEpisode", "multiEpisode", "seasonPack"], + "type": "string" + }, + "RemotePathMappingResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "host": { + "type": "string", + "nullable": true + }, + "remotePath": { + "type": "string", + "nullable": true + }, + "localPath": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "RenameEpisodeResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "seriesId": { + "type": "integer", + "format": "int32" + }, + "seasonNumber": { + "type": "integer", + "format": "int32" + }, + "episodeNumbers": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "episodeFileId": { + "type": "integer", + "format": "int32" + }, + "existingPath": { + "type": "string", + "nullable": true + }, + "newPath": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "RescanAfterRefreshType": { + "enum": ["always", "afterManual", "never"], + "type": "string" + }, + "Revision": { + "type": "object", + "properties": { + "version": { + "type": "integer", + "format": "int32" + }, + "real": { + "type": "integer", + "format": "int32" + }, + "isRepack": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "RootFolderResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "path": { + "type": "string", + "nullable": true + }, + "accessible": { + "type": "boolean" + }, + "freeSpace": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "unmappedFolders": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UnmappedFolder" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "RuntimeMode": { + "enum": ["console", "service", "tray"], + "type": "string" + }, + "SeasonPassResource": { + "type": "object", + "properties": { + "series": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeasonPassSeriesResource" + }, + "nullable": true + }, + "monitoringOptions": { + "$ref": "#/components/schemas/MonitoringOptions" + } + }, + "additionalProperties": false + }, + "SeasonPassSeriesResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "monitored": { + "type": "boolean", + "nullable": true + }, + "seasons": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeasonResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "SeasonResource": { + "type": "object", + "properties": { + "seasonNumber": { + "type": "integer", + "format": "int32" + }, + "monitored": { + "type": "boolean" + }, + "statistics": { + "$ref": "#/components/schemas/SeasonStatisticsResource" + }, + "images": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaCover" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "SeasonStatisticsResource": { + "type": "object", + "properties": { + "nextAiring": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "previousAiring": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "episodeFileCount": { + "type": "integer", + "format": "int32" + }, + "episodeCount": { + "type": "integer", + "format": "int32" + }, + "totalEpisodeCount": { + "type": "integer", + "format": "int32" + }, + "sizeOnDisk": { + "type": "integer", + "format": "int64" + }, + "releaseGroups": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "percentOfEpisodes": { + "type": "number", + "format": "double", + "readOnly": true + } + }, + "additionalProperties": false + }, + "SelectOption": { + "type": "object", + "properties": { + "value": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "format": "int32" + }, + "hint": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "SeriesEditorResource": { + "type": "object", + "properties": { + "seriesIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "monitored": { + "type": "boolean", + "nullable": true + }, + "monitorNewItems": { + "$ref": "#/components/schemas/NewItemMonitorTypes" + }, + "qualityProfileId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "seriesType": { + "$ref": "#/components/schemas/SeriesTypes" + }, + "seasonFolder": { + "type": "boolean", + "nullable": true + }, + "rootFolderPath": { + "type": "string", + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "applyTags": { + "$ref": "#/components/schemas/ApplyTags" + }, + "moveFiles": { + "type": "boolean" + }, + "deleteFiles": { + "type": "boolean" + }, + "addImportListExclusion": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "SeriesResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string", + "nullable": true + }, + "alternateTitles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlternateTitleResource" + }, + "nullable": true + }, + "sortTitle": { + "type": "string", + "nullable": true + }, + "status": { + "$ref": "#/components/schemas/SeriesStatusType" + }, + "ended": { + "type": "boolean", + "readOnly": true + }, + "profileName": { + "type": "string", + "nullable": true + }, + "overview": { + "type": "string", + "nullable": true + }, + "nextAiring": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "previousAiring": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "network": { + "type": "string", + "nullable": true + }, + "airTime": { + "type": "string", + "nullable": true + }, + "images": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaCover" + }, + "nullable": true + }, + "originalLanguage": { + "$ref": "#/components/schemas/Language" + }, + "remotePoster": { + "type": "string", + "nullable": true + }, + "seasons": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeasonResource" + }, + "nullable": true + }, + "year": { + "type": "integer", + "format": "int32" + }, + "path": { + "type": "string", + "nullable": true + }, + "qualityProfileId": { + "type": "integer", + "format": "int32" + }, + "seasonFolder": { + "type": "boolean" + }, + "monitored": { + "type": "boolean" + }, + "monitorNewItems": { + "$ref": "#/components/schemas/NewItemMonitorTypes" + }, + "useSceneNumbering": { + "type": "boolean" + }, + "runtime": { + "type": "integer", + "format": "int32" + }, + "tvdbId": { + "type": "integer", + "format": "int32" + }, + "tvRageId": { + "type": "integer", + "format": "int32" + }, + "tvMazeId": { + "type": "integer", + "format": "int32" + }, + "tmdbId": { + "type": "integer", + "format": "int32" + }, + "firstAired": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "lastAired": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "seriesType": { + "$ref": "#/components/schemas/SeriesTypes" + }, + "cleanTitle": { + "type": "string", + "nullable": true + }, + "imdbId": { + "type": "string", + "nullable": true + }, + "titleSlug": { + "type": "string", + "nullable": true + }, + "rootFolderPath": { + "type": "string", + "nullable": true + }, + "folder": { + "type": "string", + "nullable": true + }, + "certification": { + "type": "string", + "nullable": true + }, + "genres": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "added": { + "type": "string", + "format": "date-time" + }, + "addOptions": { + "$ref": "#/components/schemas/AddSeriesOptions" + }, + "ratings": { + "$ref": "#/components/schemas/Ratings" + }, + "statistics": { + "$ref": "#/components/schemas/SeriesStatisticsResource" + }, + "episodesChanged": { + "type": "boolean", + "nullable": true + }, + "languageProfileId": { + "type": "integer", + "format": "int32", + "readOnly": true, + "deprecated": true + } + }, + "additionalProperties": false + }, + "SeriesStatisticsResource": { + "type": "object", + "properties": { + "seasonCount": { + "type": "integer", + "format": "int32" + }, + "episodeFileCount": { + "type": "integer", + "format": "int32" + }, + "episodeCount": { + "type": "integer", + "format": "int32" + }, + "totalEpisodeCount": { + "type": "integer", + "format": "int32" + }, + "sizeOnDisk": { + "type": "integer", + "format": "int64" + }, + "releaseGroups": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "percentOfEpisodes": { + "type": "number", + "format": "double", + "readOnly": true + } + }, + "additionalProperties": false + }, + "SeriesStatusType": { + "enum": ["continuing", "ended", "upcoming", "deleted"], + "type": "string" + }, + "SeriesTitleInfo": { + "type": "object", + "properties": { + "title": { + "type": "string", + "nullable": true + }, + "titleWithoutYear": { + "type": "string", + "nullable": true + }, + "year": { + "type": "integer", + "format": "int32" + }, + "allTitles": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "SeriesTypes": { + "enum": ["standard", "daily", "anime"], + "type": "string" + }, + "SortDirection": { + "enum": ["default", "ascending", "descending"], + "type": "string" + }, + "SystemResource": { + "type": "object", + "properties": { + "appName": { + "type": "string", + "nullable": true + }, + "instanceName": { + "type": "string", + "nullable": true + }, + "version": { + "type": "string", + "nullable": true + }, + "buildTime": { + "type": "string", + "format": "date-time" + }, + "isDebug": { + "type": "boolean" + }, + "isProduction": { + "type": "boolean" + }, + "isAdmin": { + "type": "boolean" + }, + "isUserInteractive": { + "type": "boolean" + }, + "startupPath": { + "type": "string", + "nullable": true + }, + "appData": { + "type": "string", + "nullable": true + }, + "osName": { + "type": "string", + "nullable": true + }, + "osVersion": { + "type": "string", + "nullable": true + }, + "isNetCore": { + "type": "boolean" + }, + "isLinux": { + "type": "boolean" + }, + "isOsx": { + "type": "boolean" + }, + "isWindows": { + "type": "boolean" + }, + "isDocker": { + "type": "boolean" + }, + "mode": { + "$ref": "#/components/schemas/RuntimeMode" + }, + "branch": { + "type": "string", + "nullable": true + }, + "authentication": { + "$ref": "#/components/schemas/AuthenticationType" + }, + "sqliteVersion": { + "type": "string", + "nullable": true + }, + "migrationVersion": { + "type": "integer", + "format": "int32" + }, + "urlBase": { + "type": "string", + "nullable": true + }, + "runtimeVersion": { + "type": "string", + "nullable": true + }, + "runtimeName": { + "type": "string", + "nullable": true + }, + "startTime": { + "type": "string", + "format": "date-time" + }, + "packageVersion": { + "type": "string", + "nullable": true + }, + "packageAuthor": { + "type": "string", + "nullable": true + }, + "packageUpdateMechanism": { + "$ref": "#/components/schemas/UpdateMechanism" + }, + "packageUpdateMechanismMessage": { + "type": "string", + "nullable": true + }, + "databaseVersion": { + "type": "string", + "nullable": true + }, + "databaseType": { + "$ref": "#/components/schemas/DatabaseType" + } + }, + "additionalProperties": false + }, + "TagDetailsResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "label": { + "type": "string", + "nullable": true + }, + "delayProfileIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "importListIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "notificationIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "restrictionIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "indexerIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "downloadClientIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "autoTagIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "seriesIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "TagResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "label": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "TaskResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "taskName": { + "type": "string", + "nullable": true + }, + "interval": { + "type": "integer", + "format": "int32" + }, + "lastExecution": { + "type": "string", + "format": "date-time" + }, + "lastStartTime": { + "type": "string", + "format": "date-time" + }, + "nextExecution": { + "type": "string", + "format": "date-time" + }, + "lastDuration": { + "type": "string", + "format": "date-span", + "readOnly": true + } + }, + "additionalProperties": false + }, + "TrackedDownloadState": { + "enum": [ + "downloading", + "importBlocked", + "importPending", + "importing", + "imported", + "failedPending", + "failed", + "ignored" + ], + "type": "string" + }, + "TrackedDownloadStatus": { + "enum": ["ok", "warning", "error"], + "type": "string" + }, + "TrackedDownloadStatusMessage": { + "type": "object", + "properties": { + "title": { + "type": "string", + "nullable": true + }, + "messages": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "UiConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "firstDayOfWeek": { + "type": "integer", + "format": "int32" + }, + "calendarWeekColumnHeader": { + "type": "string", + "nullable": true + }, + "shortDateFormat": { + "type": "string", + "nullable": true + }, + "longDateFormat": { + "type": "string", + "nullable": true + }, + "timeFormat": { + "type": "string", + "nullable": true + }, + "showRelativeDates": { + "type": "boolean" + }, + "enableColorImpairedMode": { + "type": "boolean" + }, + "theme": { + "type": "string", + "nullable": true + }, + "uiLanguage": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "UnmappedFolder": { + "type": "object", + "properties": { + "name": { + "type": "string", + "nullable": true + }, + "path": { + "type": "string", + "nullable": true + }, + "relativePath": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "UpdateChanges": { + "type": "object", + "properties": { + "new": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "fixed": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "UpdateMechanism": { + "enum": ["builtIn", "script", "external", "apt", "docker"], + "type": "string" + }, + "UpdateResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "version": { + "type": "string", + "nullable": true + }, + "branch": { + "type": "string", + "nullable": true + }, + "releaseDate": { + "type": "string", + "format": "date-time" + }, + "fileName": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string", + "nullable": true + }, + "installed": { + "type": "boolean" + }, + "installedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "installable": { + "type": "boolean" + }, + "latest": { + "type": "boolean" + }, + "changes": { + "$ref": "#/components/schemas/UpdateChanges" + }, + "hash": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + } + }, + "securitySchemes": { + "X-Api-Key": { + "type": "apiKey", + "description": "Apikey passed as header", + "name": "X-Api-Key", + "in": "header" + }, + "apikey": { + "type": "apiKey", + "description": "Apikey passed as query parameter", + "name": "apikey", + "in": "query" + } + } + }, + "security": [ + { + "X-Api-Key": [] + }, + { + "apikey": [] + } + ] +} diff --git a/src/features/content/apis/sonarr.v5.generated.ts b/src/features/content/apis/sonarr.v5.generated.ts new file mode 100644 index 0000000..cf7565e --- /dev/null +++ b/src/features/content/apis/sonarr.v5.generated.ts @@ -0,0 +1,902 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/api": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: { + returnUrl?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + username?: string; + password?: string; + rememberMe?: string; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/logout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v5/log": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + page?: number; + pageSize?: number; + sortKey?: string; + sortDirection?: components["schemas"]["SortDirection"]; + level?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LogResourcePagingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ping": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PingResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PingResource"]; + }; + }; + }; + }; + patch?: never; + trace?: never; + }; + "/api/v5/series": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + tvdbId?: number; + includeSeasonImages?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SeriesResource"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SeriesResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SeriesResource"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v5/series/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + includeSeasonImages?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SeriesResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: { + moveFiles?: boolean; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SeriesResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SeriesResource"]; + }; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: { + deleteFiles?: boolean; + addImportListExclusion?: boolean; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v5/series/{id}/folder": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v5/series/lookup": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + term?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["SeriesResource"][]; + "application/json": components["schemas"]["SeriesResource"][]; + "text/json": components["schemas"]["SeriesResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/content/{path}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/{path}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v5/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UpdateResource"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v5/settings/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UpdateSettingsResource"]; + "application/json": components["schemas"]["UpdateSettingsResource"]; + "text/json": components["schemas"]["UpdateSettingsResource"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["UpdateSettingsResource"]; + "text/json": components["schemas"]["UpdateSettingsResource"]; + "application/*+json": components["schemas"]["UpdateSettingsResource"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UpdateSettingsResource"]; + "application/json": components["schemas"]["UpdateSettingsResource"]; + "text/json": components["schemas"]["UpdateSettingsResource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v5/settings/update/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UpdateSettingsResource"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + AddSeriesOptions: { + ignoreEpisodesWithFiles?: boolean; + ignoreEpisodesWithoutFiles?: boolean; + monitor?: components["schemas"]["MonitorTypes"]; + searchForMissingEpisodes?: boolean; + searchForCutoffUnmetEpisodes?: boolean; + }; + AlternateTitleResource: { + title?: string | null; + /** Format: int32 */ + seasonNumber?: number | null; + /** Format: int32 */ + sceneSeasonNumber?: number | null; + sceneOrigin?: string | null; + comment?: string | null; + }; + Language: { + /** Format: int32 */ + id?: number; + name?: string | null; + }; + LogResource: { + /** Format: int32 */ + id?: number; + /** Format: date-time */ + time?: string; + exception?: string | null; + exceptionType?: string | null; + level: string | null; + logger: string | null; + message: string | null; + }; + LogResourcePagingResource: { + /** Format: int32 */ + page?: number; + /** Format: int32 */ + pageSize?: number; + sortKey?: string | null; + sortDirection?: components["schemas"]["SortDirection"]; + /** Format: int32 */ + totalRecords?: number; + records?: components["schemas"]["LogResource"][] | null; + }; + MediaCover: { + coverType?: components["schemas"]["MediaCoverTypes"]; + url?: string | null; + remoteUrl?: string | null; + }; + /** @enum {string} */ + MediaCoverTypes: "unknown" | "poster" | "banner" | "fanart" | "screenshot" | "headshot" | "clearlogo"; + /** @enum {string} */ + MonitorTypes: "unknown" | "all" | "future" | "missing" | "existing" | "firstSeason" | "lastSeason" | "latestSeason" | "pilot" | "recent" | "monitorSpecials" | "unmonitorSpecials" | "none" | "skip"; + /** @enum {string} */ + NewItemMonitorTypes: "all" | "none"; + PingResource: { + status?: string | null; + }; + Ratings: { + /** Format: int32 */ + votes?: number; + /** Format: double */ + value?: number; + }; + SeasonResource: { + /** Format: int32 */ + seasonNumber?: number; + monitored?: boolean; + statistics?: components["schemas"]["SeasonStatisticsResource"]; + images?: components["schemas"]["MediaCover"][] | null; + }; + SeasonStatisticsResource: { + /** Format: date-time */ + nextAiring?: string | null; + /** Format: date-time */ + previousAiring?: string | null; + /** Format: int32 */ + episodeFileCount?: number; + /** Format: int32 */ + episodeCount?: number; + /** Format: int32 */ + totalEpisodeCount?: number; + /** Format: int64 */ + sizeOnDisk?: number; + releaseGroups?: string[] | null; + /** Format: double */ + readonly percentOfEpisodes?: number; + }; + SeriesResource: { + /** Format: int32 */ + id?: number; + title?: string | null; + alternateTitles?: components["schemas"]["AlternateTitleResource"][] | null; + sortTitle?: string | null; + status?: components["schemas"]["SeriesStatusType"]; + readonly ended?: boolean; + profileName?: string | null; + overview?: string | null; + /** Format: date-time */ + nextAiring?: string | null; + /** Format: date-time */ + previousAiring?: string | null; + network?: string | null; + airTime?: string | null; + images?: components["schemas"]["MediaCover"][] | null; + originalLanguage?: components["schemas"]["Language"]; + remotePoster?: string | null; + seasons?: components["schemas"]["SeasonResource"][] | null; + /** Format: int32 */ + year?: number; + path?: string | null; + /** Format: int32 */ + qualityProfileId?: number; + seasonFolder?: boolean; + monitored?: boolean; + monitorNewItems?: components["schemas"]["NewItemMonitorTypes"]; + useSceneNumbering?: boolean; + /** Format: int32 */ + runtime?: number; + /** Format: int32 */ + tvdbId?: number; + /** Format: int32 */ + tvRageId?: number; + /** Format: int32 */ + tvMazeId?: number; + /** Format: int32 */ + tmdbId?: number; + /** Format: date-time */ + firstAired?: string | null; + /** Format: date-time */ + lastAired?: string | null; + seriesType?: components["schemas"]["SeriesTypes"]; + cleanTitle?: string | null; + imdbId?: string | null; + titleSlug?: string | null; + rootFolderPath?: string | null; + folder?: string | null; + certification?: string | null; + genres?: string[] | null; + tags?: number[] | null; + /** Format: date-time */ + added?: string; + addOptions?: components["schemas"]["AddSeriesOptions"]; + ratings?: components["schemas"]["Ratings"]; + statistics?: components["schemas"]["SeriesStatisticsResource"]; + episodesChanged?: boolean | null; + }; + SeriesStatisticsResource: { + /** Format: int32 */ + seasonCount?: number; + /** Format: int32 */ + episodeFileCount?: number; + /** Format: int32 */ + episodeCount?: number; + /** Format: int32 */ + totalEpisodeCount?: number; + /** Format: int64 */ + sizeOnDisk?: number; + releaseGroups?: string[] | null; + /** Format: double */ + readonly percentOfEpisodes?: number; + }; + /** @enum {string} */ + SeriesStatusType: "continuing" | "ended" | "upcoming" | "deleted"; + /** @enum {string} */ + SeriesTypes: "standard" | "daily" | "anime"; + /** @enum {string} */ + SortDirection: "default" | "ascending" | "descending"; + UpdateChanges: { + new?: string[] | null; + fixed?: string[] | null; + }; + /** @enum {string} */ + UpdateMechanism: "builtIn" | "script" | "external" | "apt" | "docker"; + UpdateResource: { + /** Format: int32 */ + id?: number; + version: string | null; + branch: string | null; + /** Format: date-time */ + releaseDate?: string; + fileName: string | null; + url: string | null; + installed?: boolean; + /** Format: date-time */ + installedOn?: string | null; + installable?: boolean; + latest?: boolean; + changes: components["schemas"]["UpdateChanges"]; + hash: string | null; + }; + UpdateSettingsResource: { + /** Format: int32 */ + id?: number; + branch?: string | null; + updateAutomatically?: boolean; + updateMechanism?: components["schemas"]["UpdateMechanism"]; + updateScriptPath?: string | null; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; diff --git a/src/features/content/apis/sonarr.v5.json b/src/features/content/apis/sonarr.v5.json new file mode 100644 index 0000000..95e7815 --- /dev/null +++ b/src/features/content/apis/sonarr.v5.json @@ -0,0 +1,1260 @@ +{ + "openapi": "3.0.4", + "info": { + "title": "Sonarr", + "description": "Sonarr API docs - The v5 API docs apply to Sonarr v5 only.", + "license": { + "name": "GPL-3.0", + "url": "https://github.com/Sonarr/Sonarr/blob/develop/LICENSE" + }, + "version": "5.0.0" + }, + "servers": [ + { + "url": "{protocol}://{hostpath}", + "variables": { + "protocol": { + "default": "http", + "enum": ["http", "https"] + }, + "hostpath": { + "default": "localhost:8989" + } + } + } + ], + "paths": { + "/api": { + "get": { + "tags": ["ApiInfo"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/login": { + "post": { + "tags": ["Authentication"], + "parameters": [ + { + "name": "returnUrl", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "rememberMe": { + "type": "string" + } + } + }, + "encoding": { + "username": { + "style": "form" + }, + "password": { + "style": "form" + }, + "rememberMe": { + "style": "form" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + }, + "get": { + "tags": ["StaticResource"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/logout": { + "get": { + "tags": ["Authentication"], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v5/log": { + "get": { + "tags": ["Log"], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "pageSize", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "sortKey", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "sortDirection", + "in": "query", + "schema": { + "$ref": "#/components/schemas/SortDirection" + } + }, + { + "name": "level", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LogResourcePagingResource" + } + } + } + } + } + } + }, + "/ping": { + "get": { + "tags": ["Ping"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PingResource" + } + } + } + } + } + }, + "head": { + "tags": ["Ping"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PingResource" + } + } + } + } + } + } + }, + "/api/v5/series": { + "get": { + "tags": ["Series"], + "parameters": [ + { + "name": "tvdbId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "includeSeasonImages", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + } + } + } + }, + "post": { + "tags": ["Series"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + } + } + } + }, + "/api/v5/series/{id}": { + "get": { + "tags": ["Series"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "includeSeasonImages", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + } + } + }, + "put": { + "tags": ["Series"], + "parameters": [ + { + "name": "moveFiles", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + } + } + }, + "delete": { + "tags": ["Series"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "deleteFiles", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "addImportListExclusion", + "in": "query", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v5/series/{id}/folder": { + "get": { + "tags": ["SeriesFolder"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v5/series/lookup": { + "get": { + "tags": ["SeriesLookup"], + "parameters": [ + { + "name": "term", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeriesResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeriesResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeriesResource" + } + } + } + } + } + } + } + }, + "/content/{path}": { + "get": { + "tags": ["StaticResource"], + "parameters": [ + { + "name": "path", + "in": "path", + "required": true, + "schema": { + "pattern": "^(?!api/).*", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/": { + "get": { + "tags": ["StaticResource"], + "parameters": [ + { + "name": "path", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/{path}": { + "get": { + "tags": ["StaticResource"], + "parameters": [ + { + "name": "path", + "in": "path", + "required": true, + "schema": { + "pattern": "^(?!(api|feed)/).*", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/v5/update": { + "get": { + "tags": ["Update"], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UpdateResource" + } + } + } + } + } + } + } + }, + "/api/v5/settings/update": { + "get": { + "tags": ["UpdateSettings"], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/UpdateSettingsResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateSettingsResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UpdateSettingsResource" + } + } + } + } + } + }, + "put": { + "tags": ["UpdateSettings"], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateSettingsResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UpdateSettingsResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/UpdateSettingsResource" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/UpdateSettingsResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateSettingsResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UpdateSettingsResource" + } + } + } + } + } + } + }, + "/api/v5/settings/update/{id}": { + "get": { + "tags": ["UpdateSettings"], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateSettingsResource" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "AddSeriesOptions": { + "type": "object", + "properties": { + "ignoreEpisodesWithFiles": { + "type": "boolean" + }, + "ignoreEpisodesWithoutFiles": { + "type": "boolean" + }, + "monitor": { + "$ref": "#/components/schemas/MonitorTypes" + }, + "searchForMissingEpisodes": { + "type": "boolean" + }, + "searchForCutoffUnmetEpisodes": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "AlternateTitleResource": { + "type": "object", + "properties": { + "title": { + "type": "string", + "nullable": true + }, + "seasonNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "sceneSeasonNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "sceneOrigin": { + "type": "string", + "nullable": true + }, + "comment": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "Language": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LogResource": { + "required": ["level", "logger", "message"], + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "exception": { + "type": "string", + "nullable": true + }, + "exceptionType": { + "type": "string", + "nullable": true + }, + "level": { + "type": "string", + "nullable": true + }, + "logger": { + "type": "string", + "nullable": true + }, + "message": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LogResourcePagingResource": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "sortKey": { + "type": "string", + "nullable": true + }, + "sortDirection": { + "$ref": "#/components/schemas/SortDirection" + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "MediaCover": { + "type": "object", + "properties": { + "coverType": { + "$ref": "#/components/schemas/MediaCoverTypes" + }, + "url": { + "type": "string", + "nullable": true + }, + "remoteUrl": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "MediaCoverTypes": { + "enum": [ + "unknown", + "poster", + "banner", + "fanart", + "screenshot", + "headshot", + "clearlogo" + ], + "type": "string" + }, + "MonitorTypes": { + "enum": [ + "unknown", + "all", + "future", + "missing", + "existing", + "firstSeason", + "lastSeason", + "latestSeason", + "pilot", + "recent", + "monitorSpecials", + "unmonitorSpecials", + "none", + "skip" + ], + "type": "string" + }, + "NewItemMonitorTypes": { + "enum": ["all", "none"], + "type": "string" + }, + "PingResource": { + "type": "object", + "properties": { + "status": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "Ratings": { + "type": "object", + "properties": { + "votes": { + "type": "integer", + "format": "int32" + }, + "value": { + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + }, + "SeasonResource": { + "type": "object", + "properties": { + "seasonNumber": { + "type": "integer", + "format": "int32" + }, + "monitored": { + "type": "boolean" + }, + "statistics": { + "$ref": "#/components/schemas/SeasonStatisticsResource" + }, + "images": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaCover" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "SeasonStatisticsResource": { + "type": "object", + "properties": { + "nextAiring": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "previousAiring": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "episodeFileCount": { + "type": "integer", + "format": "int32" + }, + "episodeCount": { + "type": "integer", + "format": "int32" + }, + "totalEpisodeCount": { + "type": "integer", + "format": "int32" + }, + "sizeOnDisk": { + "type": "integer", + "format": "int64" + }, + "releaseGroups": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "percentOfEpisodes": { + "type": "number", + "format": "double", + "readOnly": true + } + }, + "additionalProperties": false + }, + "SeriesResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string", + "nullable": true + }, + "alternateTitles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlternateTitleResource" + }, + "nullable": true + }, + "sortTitle": { + "type": "string", + "nullable": true + }, + "status": { + "$ref": "#/components/schemas/SeriesStatusType" + }, + "ended": { + "type": "boolean", + "readOnly": true + }, + "profileName": { + "type": "string", + "nullable": true + }, + "overview": { + "type": "string", + "nullable": true + }, + "nextAiring": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "previousAiring": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "network": { + "type": "string", + "nullable": true + }, + "airTime": { + "type": "string", + "nullable": true + }, + "images": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaCover" + }, + "nullable": true + }, + "originalLanguage": { + "$ref": "#/components/schemas/Language" + }, + "remotePoster": { + "type": "string", + "nullable": true + }, + "seasons": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeasonResource" + }, + "nullable": true + }, + "year": { + "type": "integer", + "format": "int32" + }, + "path": { + "type": "string", + "nullable": true + }, + "qualityProfileId": { + "type": "integer", + "format": "int32" + }, + "seasonFolder": { + "type": "boolean" + }, + "monitored": { + "type": "boolean" + }, + "monitorNewItems": { + "$ref": "#/components/schemas/NewItemMonitorTypes" + }, + "useSceneNumbering": { + "type": "boolean" + }, + "runtime": { + "type": "integer", + "format": "int32" + }, + "tvdbId": { + "type": "integer", + "format": "int32" + }, + "tvRageId": { + "type": "integer", + "format": "int32" + }, + "tvMazeId": { + "type": "integer", + "format": "int32" + }, + "tmdbId": { + "type": "integer", + "format": "int32" + }, + "firstAired": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "lastAired": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "seriesType": { + "$ref": "#/components/schemas/SeriesTypes" + }, + "cleanTitle": { + "type": "string", + "nullable": true + }, + "imdbId": { + "type": "string", + "nullable": true + }, + "titleSlug": { + "type": "string", + "nullable": true + }, + "rootFolderPath": { + "type": "string", + "nullable": true + }, + "folder": { + "type": "string", + "nullable": true + }, + "certification": { + "type": "string", + "nullable": true + }, + "genres": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "added": { + "type": "string", + "format": "date-time" + }, + "addOptions": { + "$ref": "#/components/schemas/AddSeriesOptions" + }, + "ratings": { + "$ref": "#/components/schemas/Ratings" + }, + "statistics": { + "$ref": "#/components/schemas/SeriesStatisticsResource" + }, + "episodesChanged": { + "type": "boolean", + "nullable": true + } + }, + "additionalProperties": false + }, + "SeriesStatisticsResource": { + "type": "object", + "properties": { + "seasonCount": { + "type": "integer", + "format": "int32" + }, + "episodeFileCount": { + "type": "integer", + "format": "int32" + }, + "episodeCount": { + "type": "integer", + "format": "int32" + }, + "totalEpisodeCount": { + "type": "integer", + "format": "int32" + }, + "sizeOnDisk": { + "type": "integer", + "format": "int64" + }, + "releaseGroups": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "percentOfEpisodes": { + "type": "number", + "format": "double", + "readOnly": true + } + }, + "additionalProperties": false + }, + "SeriesStatusType": { + "enum": ["continuing", "ended", "upcoming", "deleted"], + "type": "string" + }, + "SeriesTypes": { + "enum": ["standard", "daily", "anime"], + "type": "string" + }, + "SortDirection": { + "enum": ["default", "ascending", "descending"], + "type": "string" + }, + "UpdateChanges": { + "type": "object", + "properties": { + "new": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "fixed": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "UpdateMechanism": { + "enum": ["builtIn", "script", "external", "apt", "docker"], + "type": "string" + }, + "UpdateResource": { + "required": ["branch", "changes", "fileName", "hash", "url", "version"], + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "version": { + "type": "string", + "nullable": true + }, + "branch": { + "type": "string", + "nullable": true + }, + "releaseDate": { + "type": "string", + "format": "date-time" + }, + "fileName": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string", + "nullable": true + }, + "installed": { + "type": "boolean" + }, + "installedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "installable": { + "type": "boolean" + }, + "latest": { + "type": "boolean" + }, + "changes": { + "$ref": "#/components/schemas/UpdateChanges" + }, + "hash": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "UpdateSettingsResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "branch": { + "type": "string", + "nullable": true + }, + "updateAutomatically": { + "type": "boolean" + }, + "updateMechanism": { + "$ref": "#/components/schemas/UpdateMechanism" + }, + "updateScriptPath": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + } + }, + "securitySchemes": { + "X-Api-Key": { + "type": "apiKey", + "description": "Apikey passed as header", + "name": "X-Api-Key", + "in": "header" + }, + "apikey": { + "type": "apiKey", + "description": "Apikey passed as query parameter", + "name": "apikey", + "in": "query" + } + } + }, + "security": [ + { + "X-Api-Key": [] + }, + { + "apikey": [] + } + ] +} diff --git a/src/features/content/apis/tmdb.ts b/src/features/content/apis/tmdb.ts index b3f3890..66fec79 100644 --- a/src/features/content/apis/tmdb.ts +++ b/src/features/content/apis/tmdb.ts @@ -1,7 +1,7 @@ import createClient from "openapi-fetch"; import { query } from "@solidjs/router"; import { Entry, SearchResult } from "../types"; -import { paths as pathsV3, operations } from "./tmdb.generated"; +import { paths as pathsV3 } from "./tmdb.v3.generated"; import { paths as pathsV4 } from "./tmdb.not.generated"; interface TMDBItem { @@ -58,8 +58,6 @@ export const getEntry = query( tv: { series_id: Number.parseInt(id.slice(1)) }, } as const)[mediaType]; - console.log(`going to fetch from '${endpoint}' with id '${id}'`) - const { data } = await clientV3.GET(endpoint, { params: { path: params, diff --git a/src/features/content/apis/tmdb.generated.ts b/src/features/content/apis/tmdb.v3.generated.ts similarity index 100% rename from src/features/content/apis/tmdb.generated.ts rename to src/features/content/apis/tmdb.v3.generated.ts diff --git a/src/features/content/apis/tmdb.yml b/src/features/content/apis/tmdb.v3.yml similarity index 100% rename from src/features/content/apis/tmdb.yml rename to src/features/content/apis/tmdb.v3.yml diff --git a/src/features/content/service.ts b/src/features/content/service.ts index 0b31f12..10e70c2 100644 --- a/src/features/content/service.ts +++ b/src/features/content/service.ts @@ -9,16 +9,41 @@ import { getEntry as getTmdbEntry, searchMulti, } from "./apis/tmdb"; +import { listIds as listSerieIds } from "./apis/sonarr"; +import { listIds as listMovieIds } from "./apis/radarr"; +import { merge } from "~/utilities"; const jellyfinUserId = "a9c51af84bf54578a99ab4dd0ebf0763"; -const lookupTable = query(async () => listItemIds(), 'content.lookupTable'); +const lookupTable = query(async () => { + 'use server'; + const [items, sonarr, radarr] = await Promise.all([ + listItemIds(), listSerieIds(), listMovieIds() ]); + + return merge(items, sonarr, radarr); +}, 'content.lookupTable'); export const getHighlights = () => getContinueWatching(jellyfinUserId); export const getStream = query(async (id: string, range: string) => { - const table = await lookupTable(); + const table = await lookupTable(); + const ids = table[id]; - return getItemStream(table[id].jellyfin, range); + if (ids.jellyfin) { + return getItemStream(ids.jellyfin, range); + } + + // - If the lookup table has no entry + // than this means that we do not have the requested entry at all, + // neither in trackers nor in the media server + // + // - If the lookup table contains a jellyfin id, + // than we have the content and can stream straight away + // + // - If we have the radarr or sonarr id, + // than we are tracking the entry, + // but it is not available for use yet + console.log(ids); + }, 'content.stream'); export const listCategories = query(async (): Promise => { @@ -35,7 +60,7 @@ export const listCategories = query(async (): Promise => { export const getEntryFromSlug = query( async (slug: string): Promise => { - const { id } = slug.match(/^.+-(?\w+)$/)?.groups ?? {}; + const id = slug.match(/\w+$/)![0]; return getTmdbEntry(id); }, diff --git a/src/features/player/player.module.css b/src/features/player/player.module.css index 4263e2b..395d2bd 100644 --- a/src/features/player/player.module.css +++ b/src/features/player/player.module.css @@ -37,6 +37,7 @@ background: linear-gradient(to bottom, black, transparent) top left / 100% 20% no-repeat; & > header { + z-index: 1; display: block grid; place-items: center; @@ -48,6 +49,7 @@ } & > section { + z-index: 2; display: block grid; place-items: center; @@ -59,6 +61,7 @@ } & > footer { + z-index: 0; position: relative; display: block grid; grid: auto auto / auto auto auto; diff --git a/src/routes/(shell)/details/[slug].tsx b/src/routes/(shell)/details/[slug].tsx index 32d1ada..b872fa6 100644 --- a/src/routes/(shell)/details/[slug].tsx +++ b/src/routes/(shell)/details/[slug].tsx @@ -8,7 +8,7 @@ import { RouteDefinition, useParams, } from "@solidjs/router"; -import { Show } from "solid-js"; +import { createEffect, Show } from "solid-js"; import { Details } from "~/components/details"; import { createSlug, diff --git a/src/routes/experimental.tsx b/src/routes/experimental.tsx new file mode 100644 index 0000000..a2f6767 --- /dev/null +++ b/src/routes/experimental.tsx @@ -0,0 +1,23 @@ +import { A } from "@solidjs/router"; +import { ParentProps } from "solid-js"; + +export default function Experimental(props: ParentProps) { + return ( +
+ + +
{props.children}
+
+ ); +} diff --git a/src/routes/experimental/[...404].tsx b/src/routes/experimental/[...404].tsx new file mode 100644 index 0000000..4c28a55 --- /dev/null +++ b/src/routes/experimental/[...404].tsx @@ -0,0 +1,3 @@ +export default function NotFound() { + return <>NOT FOUND; +} diff --git a/src/routes/experimental/index.tsx b/src/routes/experimental/index.tsx new file mode 100644 index 0000000..68abbba --- /dev/null +++ b/src/routes/experimental/index.tsx @@ -0,0 +1,3 @@ +export default function Index() { + return <>; +} diff --git a/src/routes/experimental/sonarr.tsx b/src/routes/experimental/sonarr.tsx new file mode 100644 index 0000000..dc9e2fd --- /dev/null +++ b/src/routes/experimental/sonarr.tsx @@ -0,0 +1,13 @@ +import { createAsync } from "@solidjs/router"; +import { createEffect } from "solid-js"; +import { TEST } from "~/features/content/apis/sonarr"; + +export default function Sonarr() { + const result = createAsync(() => TEST()); + + createEffect(() => { + console.log("the merged lookup table", result()); + }); + + return
{JSON.stringify(result(), null, 2)}
; +} diff --git a/src/utilities.ts b/src/utilities.ts index 3f0e795..1bf6b5d 100644 --- a/src/utilities.ts +++ b/src/utilities.ts @@ -44,3 +44,19 @@ export const hash = ( return hash; }; + +export const merge = (...objects: Record[]): Record => { + if (objects.length === 0) { + return {}; + } + + const target = objects[0]; + + for (const key of new Set(objects.map(o => Object.keys(o)).flat())) { + const values = objects.filter(o => Object.hasOwn(o, key)).map(o => o[key]); + + target[key] = values.every(v => v && typeof v === 'object' && !Array.isArray(v)) ? merge(...values) : values.at(-1); + } + + return target; +};