From 658724b3154a3ba32fd4f53bab347a8ddd3c0801 Mon Sep 17 00:00:00 2001 From: Qstick Date: Sun, 29 Aug 2021 23:12:59 -0400 Subject: [PATCH] OpenAPI auto generation test --- src/Prowlarr.Api.V1/swagger.json | 8583 +++++++++++++++++++++++------- 1 file changed, 6520 insertions(+), 2063 deletions(-) diff --git a/src/Prowlarr.Api.V1/swagger.json b/src/Prowlarr.Api.V1/swagger.json index a121bddfa..d739dd2cf 100644 --- a/src/Prowlarr.Api.V1/swagger.json +++ b/src/Prowlarr.Api.V1/swagger.json @@ -1,2443 +1,6900 @@ { - "openapi": "3.0.0", + "openapi": "3.0.1", "info": { "title": "Prowlarr", - "version": "3.0.0", - "description": "The way users should interact with Prowlarr programatically. To utilize any of these endpoints you will need a few pieces of information:\n\nex: localhost:9696/api/v1/movies?apiKey={key_here}\n\n* url: localhost, 10.1.0.1, 192.168.1.1, etc\n* port: 9696 (unless you modify it)\n* apiKey: Located in Settings > General > Security" + "version": "1.0.0" }, - "servers": [ - { - "url": "{protocol}://{hostPath}/api/v1", - "variables": { - "protocol": { - "enum": [ - "https", - "http" - ], - "default": "https" - }, - "hostPath": { - "default": "localhost:9696", - "description": "Your Prowlarr Server URL" - } - } - } - ], "paths": { - "/movie": { + "/api/v1/applications/{id}": { "get": { "tags": [ - "Movie" + "Application" ], - "summary": "Get all movies", - "description": "Returns all movies stored in the database", - "operationId": "getMovie", "parameters": [ { - "in": "query", - "name": "tmdbId", + "name": "id", + "in": "path", + "required": true, "schema": { - "type": "integer" - }, - "required": false, - "description": "TMDb id of the movie to get" + "type": "integer", + "format": "int32" + } } ], "responses": { "200": { - "description": "Successful request", + "description": "Success", "content": { - "application/json": { + "text/plain": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Movie" - } + "$ref": "#/components/schemas/ApplicationResource" } - } - } - }, - "400": { - "description": "Invalid ID supplied" - }, - "401": { - "description": "Invalid API Key" - }, - "404": { - "description": "Movie not found" - } - }, - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] - } - ] - }, - "post": { - "tags": [ - "Movie" - ], - "summary": "Add new movie", - "requestBody": { - "description": "Movie object that needs to be added", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Movie" - } - } - } - }, - "responses": { - "200": { - "description": "Successful request", - "content": { + }, "application/json": { "schema": { - "type": "integer" + "$ref": "#/components/schemas/ApplicationResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" } } } - }, - "401": { - "description": "Invalid API Key" - }, - "405": { - "description": "Validation exception" - } - }, - "security": [ - { - "X-API-Key": [] } - ], - "description": "Adds a movie to the database" + } }, "put": { "tags": [ - "Movie" + "Application" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } ], - "summary": "Edit existing movie", "requestBody": { - "description": "Movie object that needs to be edited", - "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Movie" + "$ref": "#/components/schemas/ApplicationResource" } - } - } - }, - "parameters": [ - { - "in": "query", - "name": "movieFiles", - "schema": { - "type": "boolean" }, - "required": false, - "description": "Have prowlarr move files when updating" - } - ], - "responses": { - "200": { - "description": "successful operation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Movie" - } + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" } } - }, - "404": { - "description": "Movie not found" - }, - "405": { - "description": "Validation exception" } }, - "security": [ - { - "X-API-Key": [] - } - ], - "description": "Updates a movie in the database" - } - }, - "/movie/{id}": { - "get": { - "tags": [ - "Movie" - ], - "summary": "Get movie by database id", - "description": "Returns a single movie", - "operationId": "getMovieById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Database Id of movie to return", - "required": true, - "schema": { - "type": "integer" - } - } - ], "responses": { "200": { - "description": "Successful request", + "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/Movie" + "$ref": "#/components/schemas/ApplicationResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" } } } - }, - "400": { - "description": "Invalid ID supplied" - }, - "401": { - "description": "Invalid API Key" - }, - "404": { - "description": "Movie not found" - } - }, - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] } - ] + } }, "delete": { "tags": [ - "Movie" + "Application" ], - "summary": "Delete movie", - "description": "", - "operationId": "deleteMovie", "parameters": [ { "name": "id", "in": "path", - "description": "Database Id of movie to delete", "required": true, "schema": { - "type": "integer" - } - }, - { - "name": "addImportExclusion", - "in": "query", - "description": "Add deleted movies to List Exclusions", - "schema": { - "type": "boolean" - } - }, - { - "name": "deleteFiles", - "in": "query", - "description": "Delete movie files when deleting movies", - "schema": { - "type": "boolean" + "type": "integer", + "format": "int32" } } ], "responses": { - "400": { - "description": "Invalid ID supplied" - }, - "401": { - "description": "Invalid API Key" - }, - "404": { - "description": "Movie not found" - } - }, - "security": [ - { - "X-API-Key": [] + "200": { + "description": "Success" } - ] + } } }, - "/tag/detail/{id}": { + "/api/v1/applications": { "get": { "tags": [ - "Tag" + "Application" ], - "summary": "Return usage details for a given tag id", - "description": "Returns the id of all items in the database which use the specified tag", - "operationId": "", "responses": { "200": { - "description": "Successful request", + "description": "Success", "content": { - "application/json": { + "text/plain": { "schema": { - "$ref": "#/components/schemas/TagDetail" + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationResource" + } } - } - } - }, - "401": { - "description": "Invalid API Key" - } - }, - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] - } - ] - }, - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Database id of tag", - "required": true, - "schema": { - "type": "integer" - } - } - ] - }, - "/tag/detail": { - "get": { - "tags": [ - "Tag" - ], - "summary": "Return usage details for all tags in database", - "description": "Returns a list of tag detail objects for all tags in the database.", - "operationId": "", - "responses": { - "200": { - "description": "Successful request", - "content": { + }, "application/json": { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/TagDetail" + "$ref": "#/components/schemas/ApplicationResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationResource" } } } } - }, - "401": { - "description": "Invalid API Key" - } - }, - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] } - ] + } }, - "parameters": [] - }, - "/tag/{id}": { - "get": { + "post": { "tags": [ - "Tag" + "Application" ], - "summary": "Get tag by database id", - "description": "Return a given tag and its label by the database id.", - "operationId": "", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" + } + } + } + }, "responses": { "200": { - "description": "Successful request", + "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/Tag" + "$ref": "#/components/schemas/ApplicationResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" } } } - }, - "401": { - "description": "Invalid API Key" - } - }, - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] - } - ] - }, - "delete": { - "tags": [ - "Tag" - ], - "summary": "Delete tag by database id", - "description": "Delete a tag", - "operationId": "", - "responses": { - "200": { - "description": "Successful request" - }, - "401": { - "description": "Invalid API Key" - } - }, - "security": [ - { - "X-API-Key": [] - } - ] - }, - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of tag", - "required": true, - "schema": { - "type": "integer" } } - ] + } }, - "/tag": { + "/api/v1/applications/schema": { "get": { "tags": [ - "Tag" + "Application" ], - "summary": "Get all tags", - "description": "Get all tags in the database", - "operationId": "", "responses": { "200": { - "description": "Successful request", + "description": "Success", "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationResource" + } + } + }, "application/json": { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/Tag" + "$ref": "#/components/schemas/ApplicationResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationResource" } } } } - }, - "401": { - "description": "Invalid API Key" - } - }, - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] } - ] - }, - "put": { + } + } + }, + "/api/v1/applications/test": { + "post": { "tags": [ - "Tag" + "Application" ], - "summary": "Update tag", - "description": "Update a tags label.", - "operationId": "", "requestBody": { - "description": "Tag object that needs to be updated", - "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Tag" + "$ref": "#/components/schemas/ApplicationResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" } } } }, "responses": { "200": { - "description": "Successful request" - }, - "401": { - "description": "Invalid API Key" - } - }, - "security": [ - { - "X-API-Key": [] + "description": "Success" } - ] - }, + } + } + }, + "/api/v1/applications/testall": { "post": { "tags": [ - "Tag" + "Application" ], - "summary": "Create a new tag", - "description": "Create a new tag that can be assigned to a movie, list, delay profile, notification, or restriction", - "operationId": "", - "requestBody": { - "description": "Tag object that needs to be added", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Tag" - } - } - } - }, "responses": { "200": { - "description": "Successful request" - }, - "401": { - "description": "Invalid API Key" + "description": "Success" } - }, - "security": [ - { - "X-API-Key": [] + } + } + }, + "/api/v1/applications/action/{name}": { + "post": { + "tags": [ + "Application" + ], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } } - ] - }, - "parameters": [] + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success" + } + } + } }, - "/diskspace": { - "get": { - "summary": "Get system diskspace information", + "/api/v1/appprofile": { + "post": { "tags": [ - "Disk Space" + "AppProfile" ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + } + } + }, "responses": { "200": { - "description": "Successful request", + "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + }, "application/json": { "schema": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "label": { - "type": "string" - }, - "freeSpace": { - "type": "number", - "description": "bytes" - }, - "totalSpace": { - "type": "number", - "description": "bytes" - } - } - }, - "examples": { - "Response": { - "value": [ - { - "path": "D:\\", - "label": "DrivePool", - "freeSpace": 16187217043456, - "totalSpace": 56009755148288 - }, - { - "path": "C:\\", - "label": "Windows", - "freeSpace": 78659211264, - "totalSpace": 239409819648 - } - ] - } - } - } - } - }, - "401": { - "description": "Invalid API Key" - } - }, - "operationId": "get-diskspace", - "description": "Query Prowlarr for disk usage information\n\nLocation: System > Status", - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] - } - ] - } - }, - "/status": { - "get": { - "summary": "Get internal information", - "tags": [ - "Status" - ], - "responses": { - "200": { - "description": "Successful request", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "version": { - "type": "string" - }, - "buildTime": { - "type": "string" - }, - "isDebug": { - "type": "boolean" - }, - "isProduction": { - "type": "boolean" - }, - "isAdmin": { - "type": "boolean" - }, - "isUserInteractive": { - "type": "boolean" - }, - "startupPath": { - "type": "string" - }, - "appData": { - "type": "string" - }, - "osName": { - "type": "string" - }, - "osVersion": { - "type": "string" - }, - "isNetCore": { - "type": "boolean" - }, - "isMono": { - "type": "boolean" - }, - "isLinux": { - "type": "boolean" - }, - "isOsx": { - "type": "boolean" - }, - "isWindows": { - "type": "boolean" - }, - "isDocker": { - "type": "boolean" - }, - "mode": { - "type": "string" - }, - "branch": { - "type": "string" - }, - "authentication": { - "type": "string" - }, - "sqliteVersion": { - "type": "string" - }, - "migrationVersion": { - "type": "integer" - }, - "urlBase": { - "type": "string" - }, - "runtimeVersion": { - "type": "string" - }, - "runtimeName": { - "type": "string" - }, - "startTime": { - "type": "string" - }, - "packageUpdateMechanism": { - "type": "string" - } - } - }, - "examples": { - "Response": { - "value": { - "version": "10.0.0.34882", - "buildTime": "2020-09-01T23:23:23.9621974Z", - "isDebug": true, - "isProduction": false, - "isAdmin": false, - "isUserInteractive": true, - "startupPath": "C:\\ProgramData\\Prowlarr", - "appData": "C:\\ProgramData\\Prowlarr", - "osName": "Windows", - "osVersion": "10.0.18363.0", - "isNetCore": true, - "isMono": false, - "isLinux": false, - "isOsx": false, - "isWindows": true, - "isDocker": false, - "mode": "console", - "branch": "nightly", - "authentication": "none", - "sqliteVersion": "3.32.1", - "migrationVersion": 180, - "urlBase": "", - "runtimeVersion": "5.0.0", - "runtimeName": "netCore", - "startTime": "2020-09-01T23:50:20.2415965Z", - "packageUpdateMechanism": "builtIn" - } - } + "$ref": "#/components/schemas/AppProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" } } } - }, - "401": { - "description": "Invalid API Key" - } - }, - "operationId": "get-status", - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] } - ], - "description": "Find out information such as OS, version, paths used, etc", - "parameters": [] - } - }, - "/health": { + } + }, "get": { - "summary": "Get Prowlarr's health information", "tags": [ - "Health" + "AppProfile" ], "responses": { "200": { - "description": "Successful request", + "description": "Success", "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppProfileResource" + } + } + }, "application/json": { "schema": { - "type": "object", - "properties": { - "source": { - "type": "string" - }, - "type": { - "type": "string" - }, - "message": { - "type": "string" - }, - "wikiUrl": { - "type": "string" - } + "type": "array", + "items": { + "$ref": "#/components/schemas/AppProfileResource" } - }, - "examples": { - "Response": { - "value": [ - { - "source": "ImportMechanismCheck", - "type": "warning", - "message": "Enable Completed Download Handling", - "wikiUrl": "https://wiki.servarr.com/prowlarr/system#completed.2FFailed_Download_Handling" - }, - { - "source": "DownloadClientCheck", - "type": "error", - "message": "Unable to communicate with qBittorrent. Failed to connect to qBittorrent, check your settings.", - "wikiUrl": "https://wiki.servarr.com/prowlarr/system#download-clients" - } - ] + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppProfileResource" } } } } - }, - "401": { - "description": "Invalid API Key" } - }, - "operationId": "get-health", - "security": [ - { - "X-API-Key": [] - }, + } + } + }, + "/api/v1/appprofile/{id}": { + "delete": { + "tags": [ + "AppProfile" + ], + "parameters": [ { - "api key": [] + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } } ], - "description": "Query prowlarr for health information\n\nLocation: System > Status" - } - }, - "/command": { - "post": { - "summary": "command", + "responses": { + "200": { + "description": "Success" + } + } + }, + "put": { "tags": [ - "Command" + "AppProfile" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } ], - "operationId": "post-command", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + } + } + }, "responses": { "200": { - "description": "Successful request" - }, - "201": { - "description": "", + "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + }, "application/json": { "schema": { - "type": "object", - "properties": { - "name": { - "type": "string" - } - }, - "required": [ - "name" - ] - }, - "examples": { - "Example": { - "value": { - "name": "Backup" - } - } + "$ref": "#/components/schemas/AppProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" } } } - }, - "401": { - "description": "Invalid API Key" } - }, - "description": "Pushes commands to Prowlarr using a key:value pair. The main key is \"name\" and below are acceptable values but it can also accept other key:value pairs (listed under each command):\n\n* ApplicationUpdate - Trigger an update of Prowlarr\n* Backup - Trigger a backup routine\n* CheckHealth - Trigger a system health check\n* ClearBlocklist - Triggers the removal of all blocklisted movies\n* CleanUpRecycleBin - Trigger a recycle bin cleanup check\n* DeleteLogFiles - Triggers the removal of all Info/Debug/Trace log files\n* DeleteUpdateLogFiles - Triggers the removal of all Update log files\n* DownloadedMoviesScan - Triggers the scan of downloaded movies\n* MissingMoviesSearch - Triggers a search of all missing movies\n* RefreshMonitoredDownloads - Triggers the scan of monitored downloads\n* RefreshMovie - Trigger a refresh / scan of library\n * movieIds:int[] - Specify a list of ids (comma separated) for individual movies to refresh", - "security": [ + } + }, + "get": { + "tags": [ + "AppProfile" + ], + "parameters": [ { - "X-API-Key": [] + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } } ], - "parameters": [] + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + } + } + } + } } }, - "/update": { - "get": { - "summary": "List of recent updates", + "/login": { + "post": { "tags": [ - "Update" + "Authentication" ], - "responses": { - "200": { - "description": "Successful request", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "version": { - "type": "string" - }, - "branch": { - "type": "string" - }, - "releaseDate": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "url": { - "type": "string" - }, - "installed": { - "type": "boolean" - }, - "installable": { - "type": "boolean" - }, - "latest": { - "type": "boolean" - }, - "changes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "new": { - "type": "object" - }, - "fixed": { - "type": "object" - } - } - } - }, - "hash": { - "type": "string" - } + "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" }, - "examples": { - "Example": { - "value": { - "version": "3.0.0.3553", - "branch": "nightly", - "releaseDate": "2020-09-02T05:36:13.047313Z", - "fileName": "Prowlarr.nightly.3.0.0.3553.windows-core-x64.zip", - "url": "https://dev.azure.com/Prowlarr/Prowlarr/_apis/build/builds/1896/artifacts?artifactName=Packages&fileId=A710686A9CB6848E73C3DDCA5F2B0D83C6189546E66DD3EF2D0D30B20735F6E802&fileName=Prowlarr.aphrodite.3.0.0.3553.windows-core-x64.zip&api-version=5.1", - "installed": false, - "installable": false, - "latest": false, - "changes": { - "new": [], - "fixed": [ - "Importing completed downloads from NZBGet with post processing script failing", - "Importing of completed download when not a child of the download client output path", - "Getting parent of UNC paths" - ] - }, - "hash": "a95c855cbc3ee253fd0b74181e866106daffc7b71b4a9e2d57cfbeede4333aee" - } - } - } - } - } - }, - "401": { - "description": "Invalid API Key" - } - }, - "operationId": "get-update", - "description": "Will return a list of recent updates to Prowlarr\n\nLocation: System > Updates", - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] - } - ] - } - }, - "/qualityProfile": { - "get": { - "summary": "Get Prowlarr's quality profiles", - "tags": [ - "Quality" - ], - "responses": { - "200": { - "description": "Successful response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "upgradeAllowed": { - "type": "boolean" - }, - "cutoff": { - "type": "integer" - }, - "preferredTags": { - "type": "string" - }, - "items": { - "type": "object", - "properties": { - "quality": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "source": { - "type": "string" - }, - "resolution": { - "type": "integer" - }, - "modifier": { - "type": "string" - } - } - }, - "items": { - "type": "object" - }, - "allowed": { - "type": "boolean" - } - } - }, - "id": { - "type": "integer" - }, - "minFormatScore": { - "type": "integer" - }, - "cutoffFormatScore": { - "type": "integer" - }, - "formatItems": { - "type": "object", - "properties": { - "format": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "score": { - "type": "integer" - } - } - }, - "language": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - } - } - } + "Password": { + "style": "form" }, - "examples": { - "Example": { - "value": [ - { - "name": "Any", - "upgradeAllowed": true, - "cutoff": 20, - "preferredTags": "freeleech", - "items": [ - { - "quality": { - "id": 0, - "name": "Unknown", - "source": "unknown", - "resolution": 0, - "modifier": "none" - }, - "items": [], - "allowed": true - } - ] - } - ] - } + "RememberMe": { + "style": "form" } } } - }, - "401": { - "description": "Invalid API Key" } }, - "operationId": "get-add-discover", - "description": "Query Prowlarr for quality profiles ", - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] + "responses": { + "200": { + "description": "Success" } - ] + } }, - "parameters": [] - }, - "/calendar": { "get": { - "summary": "Get Prowlarr's calendar events", "tags": [ - "Calendar" + "StaticResource" ], "responses": { "200": { - "description": "Successful request" - }, - "401": { - "description": "Invalid API Key" - } - }, - "operationId": "get-calendar", - "description": "Get a list of movies based on calendar parameters", - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] + "description": "Success" } + } + } + }, + "/logout": { + "get": { + "tags": [ + "Authentication" ], - "parameters": [ - { - "schema": { - "type": "boolean" - }, - "in": "query", - "name": "unmonitored", - "required": true - }, - { - "schema": { - "type": "string" - }, - "in": "query", - "name": "start", - "description": "ISO 8601", - "required": true - }, - { - "schema": { - "type": "string" - }, - "in": "query", - "name": "end", - "description": "ISO 8601", - "required": true + "responses": { + "200": { + "description": "Success" } - ] + } } }, - "/queue": { + "/api/v1/system/backup": { "get": { - "summary": "Get Prowlarr's queue items", "tags": [ - "Queue" + "Backup" ], "responses": { "200": { - "description": "Successful request" - }, - "401": { - "description": "Invalid API Key" + "description": "Success", + "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" + } + } + } + } } - }, - "operationId": "get-queue", - "description": "Return a json object list of items in the queue", - "security": [ + } + } + }, + "/api/v1/system/backup/{id}": { + "delete": { + "tags": [ + "Backup" + ], + "parameters": [ { - "X-API-Key": [] - }, - { - "api key": [] + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success" } + } + } + }, + "/api/v1/system/backup/restore/{id}": { + "post": { + "tags": [ + "Backup" ], "parameters": [ { + "name": "id", + "in": "path", + "required": true, "schema": { - "type": "integer" - }, - "in": "query", - "name": "page", - "description": "1", - "required": true - }, - { - "schema": { - "type": "integer" - }, - "in": "query", - "name": "pageSize", - "description": "20", - "required": true - }, - { - "schema": { - "type": "string" - }, - "in": "query", - "name": "sortDirection", - "description": "ascending", - "required": true - }, - { - "schema": { - "type": "string" - }, - "in": "query", - "name": "sortKey", - "description": "timeLeft", - "required": true - }, - { - "schema": { - "type": "boolean" - }, - "in": "query", - "name": "includeUnknownMovieItems", - "description": "true", - "required": true + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success" } - ] + } } }, - "/history": { - "get": { - "summary": "Get Prowlarr's history items", + "/api/v1/system/backup/restore/upload": { + "post": { "tags": [ - "History" + "Backup" ], "responses": { "200": { - "description": "Successful request", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "sortDirection": { - "type": "string" - }, - "totalRecords": { - "type": "integer" - }, - "records": { - "type": "array", - "items": { - "type": "object", - "properties": { - "movieId": { - "type": "integer" - }, - "sourceTitle": { - "type": "string" - }, - "languages": { - "type": [ - "string", - "array" - ], - "items": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - } - }, - "quality": { - "type": "array", - "items": { - "type": "object", - "properties": { - "quality": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "source": { - "type": "string" - }, - "resolution": { - "type": "integer" - }, - "modifier": { - "type": "string" - } - } - } - }, - "revision": { - "type": "array", - "items": { - "type": "object", - "properties": { - "version": { - "type": "integer" - }, - "real": { - "type": "integer" - }, - "isRepack": { - "type": "boolean" - } - } - } - } - } - } - }, - "customFormats": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "includeCustomFormatWhenRenaming": { - "type": "boolean" - }, - "specifications": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "implementation": { - "type": "string" - }, - "implementationName": { - "type": "string" - }, - "infoLink": { - "type": "string" - }, - "negate": { - "type": "boolean" - }, - "required": { - "type": "boolean" - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "order": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "label": { - "type": "string" - }, - "value": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "advanced": { - "type": "boolean" - }, - "selectOptions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - }, - "qualityCutoffNotMet": { - "type": "boolean" - }, - "date": { - "type": "string", - "description": "ISO 8601" - }, - "eventType": { - "type": "string" - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "reason": { - "type": "string" - } - } - } - }, - "id": { - "type": "integer" - } - } - } - } - } - }, - "examples": { - "Example": { - "value": { - "page": 1, - "pageSize": 20, - "sortKey": "date", - "sortDirection": "descending", - "totalRecords": 1998, - "records": [ - { - "movieId": 884, - "sourceTitle": "D:\\Plex\\Movies\\Dolittle (2019)\\Dolittle (2019) WEBDL-1080p.mkv", - "languages": [ - { - "id": 1, - "name": "English" - } - ], - "quality": { - "quality": { - "id": 3, - "name": "WEBDL-1080p", - "source": "webdl", - "resolution": 1080, - "modifier": "none" - }, - "revision": { - "version": 1, - "real": 0, - "isRepack": false - } - }, - "customFormats": [ - { - "id": 1, - "name": "WebDL", - "includeCustomFormatWhenRenaming": false, - "specifications": [ - { - "name": "WebDL", - "implementation": "SourceSpecification", - "implementationName": "Source", - "infoLink": "https://github.com/Prowlarr/Prowlarr/wiki/Custom-Formats-Aphrodite", - "negate": false, - "required": false, - "fields": [ - { - "order": 0, - "name": "value", - "label": "Source", - "value": 7, - "type": "select", - "advanced": false, - "selectOptions": [ - { - "value": 0, - "name": "UNKNOWN" - }, - { - "value": 1, - "name": "CAM" - }, - { - "value": 2, - "name": "TELESYNC" - }, - { - "value": 3, - "name": "TELECINE" - }, - { - "value": 4, - "name": "WORKPRINT" - }, - { - "value": 5, - "name": "DVD" - }, - { - "value": 6, - "name": "TV" - }, - { - "value": 7, - "name": "WEBDL" - }, - { - "value": 8, - "name": "WEBRIP" - }, - { - "value": 9, - "name": "BLURAY" - } - ] - } - ] - } - ] - }, - { - "id": 2, - "name": "1080", - "includeCustomFormatWhenRenaming": false, - "specifications": [ - { - "name": "1080", - "implementation": "ResolutionSpecification", - "implementationName": "Resolution", - "infoLink": "https://github.com/Prowlarr/Prowlarr/wiki/Custom-Formats-Aphrodite", - "negate": false, - "required": false, - "fields": [ - { - "order": 0, - "name": "value", - "label": "Resolution", - "value": 1080, - "type": "select", - "advanced": false, - "selectOptions": [ - { - "value": 0, - "name": "Unknown" - }, - { - "value": 360, - "name": "R360p" - }, - { - "value": 480, - "name": "R480p" - }, - { - "value": 576, - "name": "R576p" - }, - { - "value": 720, - "name": "R720p" - }, - { - "value": 1080, - "name": "R1080p" - }, - { - "value": 2160, - "name": "R2160p" - } - ] - } - ] - } - ] - } - ], - "qualityCutoffNotMet": true, - "date": "2020-08-30T00:09:52.3299253Z", - "eventType": "movieFileDeleted", - "data": { - "reason": "MissingFromDisk" - }, - "id": 2107 - } - ] - } - } - } - } - } - }, - "401": { - "description": "Invalid API Key" - } - }, - "operationId": "get-history", - "description": "Return a json object list of items in your history", - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] - } - ], - "parameters": [ - { - "schema": { - "type": "integer" - }, - "in": "query", - "name": "page", - "description": "1", - "required": true - }, - { - "schema": { - "type": "integer" - }, - "in": "query", - "name": "pageSize", - "description": "20", - "required": true - }, - { - "schema": { - "type": "string" - }, - "in": "query", - "name": "sortDirection", - "description": "descending", - "required": true - }, - { - "schema": { - "type": "string" - }, - "in": "query", - "name": "sortKey", - "description": "date", - "required": true + "description": "Success" } - ] + } } }, - "/customFilter": { + "/api/v1/command/{id}": { "get": { - "summary": "Get Prowlarr's custom filters", "tags": [ - "Custom Filters" + "Command" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } ], "responses": { "200": { - "description": "Successful response", + "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CommandResource" + } + }, "application/json": { "schema": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "label": { - "type": "string" - }, - "Prowlarr's ": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "array", - "items": { - "type": "object", - "properties": { - "time": { - "type": "string" - }, - "value": { - "type": "integer" - } - } - } - }, - "type": { - "type": "string" - } - } - }, - "id": { - "type": "integer" - } - } - }, - "examples": { - "Example": { - "value": [ - { - "type": "movieIndex", - "label": "not in last", - "filters": [ - { - "key": "inCinemas", - "value": { - "time": "months", - "value": 12 - }, - "type": "notInLast" - } - ], - "id": 2 - } - ] - } - } - } - } - }, - "401": { - "description": "Invalid API Key" - } - }, - "operationId": "get-customFilter", - "description": "Query Prowlarr for custom filters", - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] - } - ] - } - }, - "/importList": { - "get": { - "summary": "Get import list information", - "tags": [ - "Import" - ], - "responses": { - "200": { - "description": "Succesful response ", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "enableAuto": { - "type": "boolean" - }, - "shouldMonitor": { - "type": "boolean" - }, - "rootFolderPath": { - "type": "string" - }, - "qualityProfile": { - "type": "integer" - }, - "searchOnAdd": { - "type": "boolean" - }, - "minimumAvailability": { - "type": "string" - }, - "listType": { - "type": "string" - }, - "listOrder": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "fields": { - "type": "object", - "properties": { - "order": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "label": { - "type": "string" - }, - "helpText": { - "type": "string" - }, - "value": { - "type": "string" - }, - "type": { - "type": "string" - }, - "advanced": { - "type": "boolean" - } - } - }, - "implementationName": { - "type": "string" - }, - "implementation": { - "type": "string" - }, - "configContract": { - "type": "string" - }, - "infoLink": { - "type": "string" - }, - "tags": { - "type": "object" - }, - "id": { - "type": "integer" - } - } - }, - "examples": { - "Example": { - "value": [ - { - "enabled": true, - "enableAuto": true, - "shouldMonitor": true, - "rootFolderPath": "D:\\Plex\\Movies\\", - "qualityProfileId": 4, - "searchOnAdd": false, - "minimumAvailability": "announced", - "listType": "other", - "listOrder": 3, - "name": "IMDb List", - "fields": [ - { - "order": 0, - "name": "listId", - "label": "List/User ID", - "helpText": "IMDb list ID (e.g ls12345678), IMDb user ID (e.g. ur12345678), 'top250' or 'popular'", - "value": "ur109135197", - "type": "textbox", - "advanced": false - } - ], - "implementationName": "IMDb Lists", - "implementation": "IMDbListImport", - "configContract": "IMDbListSettings", - "infoLink": "https://github.com/Prowlarr/Prowlarr/wiki/Supported-ImportLists#imdblistimport", - "tags": [ - 2 - ], - "id": 1 - } - ] - } - } - } - } - }, - "401": { - "description": "Invalid API Key" - } - }, - "operationId": "get-importList", - "description": "Query Prowlarr for all lists", - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] - } - ] - } - }, - "/ui": { - "get": { - "summary": "Get UI settings", - "tags": [ - "UI" - ], - "responses": { - "200": { - "description": "Successful request", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "firstDayOfWeek": { - "type": "integer" - }, - "calendarWeekColumnHeader": { - "type": "string" - }, - "shortDateFormat": { - "type": "string" - }, - "longDateFormat": { - "type": "string" - }, - "timeFormat": { - "type": "string" - }, - "showRelativeDates": { - "type": "boolean" - }, - "enableColorImpairedMode": { - "type": "boolean" - }, - "movieInfoLanguage": { - "type": "integer" - }, - "id": { - "type": "integer" - } - } - }, - "examples": { - "Example": { - "value": { - "firstDayOfWeek": 0, - "calendarWeekColumnHeader": "ddd M/D", - "shortDateFormat": "MMM D YYYY", - "longDateFormat": "dddd, MMMM D YYYY", - "timeFormat": "h(:mm)a", - "showRelativeDates": true, - "enableColorImpairedMode": false, - "movieInfoLanguage": 1, - "id": 1 - } - } + "$ref": "#/components/schemas/CommandResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CommandResource" } } } - }, - "401": { - "description": "Invalid API Key" } - }, - "operationId": "get-ui", - "description": "Query Prowlarr for UI settings", - "security": [ - { - "X-API-Key": [] - }, + } + }, + "delete": { + "tags": [ + "Command" + ], + "parameters": [ { - "api key": [] + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } } - ] + ], + "responses": { + "200": { + "description": "Success" + } + } } }, - "/remotePathMapping": { - "get": { - "summary": "Get Prowlarr's remote path mappings", + "/api/v1/command": { + "post": { "tags": [ - "Remote Path Mapping" + "Command" ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CommandResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CommandResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CommandResource" + } + } + } + }, "responses": { "200": { - "description": "Successful request", + "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CommandResource" + } + }, "application/json": { "schema": { - "type": "object", - "properties": { - "host": { - "type": "string" - }, - "remotePath": { - "type": "string" - }, - "localPath": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "examples": { - "Example": { - "value": [ - { - "host": "localhost", - "remotePath": "B:\\", - "localPath": "A:\\Movies\\", - "id": 1 - }, - { - "host": "localhost", - "remotePath": "C:\\", - "localPath": "A:\\Movies\\", - "id": 2 - } - ] - } + "$ref": "#/components/schemas/CommandResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CommandResource" } } } - }, - "401": { - "description": "Invalid API Key" - } - }, - "operationId": "get-remotePathMapping", - "description": "Get a list of remote paths being mapped and used by Prowlarr", - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] } - ] - } - }, - "/downloadClient": { + } + }, "get": { - "summary": "Get Prowlarr's download client list", "tags": [ - "Download Client" + "Command" ], "responses": { "200": { - "description": "Successful request" - }, - "401": { - "description": "Invalid API Key" - } - }, - "operationId": "get-downloadClient", - "description": "Get a list of all the download clients added in Prowlarr", - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] + "description": "Success", + "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" + } + } + } + } } - ] + } } }, - "/blockList": { + "/api/v1/customfilter/{id}": { "get": { - "summary": "Get Prowlarr's blocklisted movies", "tags": [ - "Blocklist" + "CustomFilter" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } ], "responses": { "200": { - "description": "Invalid API Key", + "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, "application/json": { "schema": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "description": "1" - }, - "pageSize": { - "type": "integer", - "description": "20" - }, - "sortDirection": { - "type": "string", - "description": "descending" - }, - "sortKey": { - "type": "string", - "description": "date" - }, - "totalRecords": { - "type": "integer" - }, - "records": { - "type": "array", - "items": { - "type": "object" - } - } - }, - "required": [ - "page", - "pageSize", - "sortDirection", - "sortKey" - ] + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" } } } - }, - "401": { - "description": "Invalid API Key" - } - }, - "operationId": "get-blockList", - "description": "", - "security": [ - { - "X-API-Key": [] - }, - { - "api key": [] } + } + }, + "put": { + "tags": [ + "CustomFilter" ], "parameters": [ { - "schema": { - "type": "integer" - }, - "in": "query", - "name": "page", - "description": "1", - "required": true - }, - { - "schema": { - "type": "integer" - }, - "in": "query", - "name": "pageSize", - "description": "20", - "required": true - }, - { + "name": "id", + "in": "path", + "required": true, "schema": { "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } }, - "in": "query", - "name": "sortDirection", - "description": "descending", - "required": true - }, - { - "schema": { - "type": "string" + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } }, - "in": "query", - "name": "sortKey", - "description": "date", - "required": true + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } } - ] - }, - "delete": { - "summary": "Remove a blocklisted movie", - "operationId": "delete-blockList", + }, "responses": { "200": { - "description": "Successful request" - }, - "401": { - "description": "Invalid API Key" - } - }, - "description": "Removes a specific movie (the id provided) from the blocklist", - "security": [ - { - "X-API-Key": [] + "description": "Success", + "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": [ { - "schema": { - "type": "integer" + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/customfilter": { + "get": { + "tags": [ + "CustomFilter" + ], + "responses": { + "200": { + "description": "Success", + "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" + } }, - "in": "query", + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CustomFilterResource" + } + } + } + } + } + } + }, + "/api/v1/config/development/{id}": { + "put": { + "tags": [ + "DevelopmentConfig" + ], + "parameters": [ + { "name": "id", - "required": true + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DevelopmentConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DevelopmentConfigResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DevelopmentConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DevelopmentConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DevelopmentConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DevelopmentConfigResource" + } + } + } } - ] + } }, - "parameters": [] - } - }, - "components": { - "schemas": { - "Movie": { - "type": "object", - "required": [ - "title" + "get": { + "tags": [ + "DevelopmentConfig" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DevelopmentConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DevelopmentConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DevelopmentConfigResource" + } + } + } + } + } + } + }, + "/api/v1/config/development": { + "get": { + "tags": [ + "DevelopmentConfig" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DevelopmentConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DevelopmentConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DevelopmentConfigResource" + } + } + } + } + } + } + }, + "/api/v1/downloadclient/{id}": { + "get": { + "tags": [ + "DownloadClient" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + }, + "put": { + "tags": [ + "DownloadClient" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + }, + "delete": { + "tags": [ + "DownloadClient" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/downloadclient": { + "get": { + "tags": [ + "DownloadClient" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "DownloadClient" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + } + }, + "/api/v1/downloadclient/schema": { + "get": { + "tags": [ + "DownloadClient" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + } + } + } + } + }, + "/api/v1/downloadclient/test": { + "post": { + "tags": [ + "DownloadClient" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/downloadclient/testall": { + "post": { + "tags": [ + "DownloadClient" + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/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" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/config/downloadclient/{id}": { + "get": { + "tags": [ + "DownloadClientConfig" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + } + } + } + } + }, + "put": { + "tags": [ + "DownloadClientConfig" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + } + } + } + } + } + }, + "/api/v1/config/downloadclient": { + "get": { + "tags": [ + "DownloadClientConfig" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DownloadClientConfigResource" + } + } + } + } + } + } + }, + "/api/v1/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": "Success" + } + } + } + }, + "/api/v1/filesystem/type": { + "get": { + "tags": [ + "FileSystem" + ], + "parameters": [ + { + "name": "path", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/health/{id}": { + "get": { + "tags": [ + "Health" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/HealthResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/HealthResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HealthResource" + } + } + } + } + } + } + }, + "/api/v1/health": { + "get": { + "tags": [ + "Health" + ], + "responses": { + "200": { + "description": "Success", + "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/v1/history": { + "get": { + "tags": [ + "History" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/HistoryResourcePagingResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/HistoryResourcePagingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HistoryResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v1/history/since": { + "get": { + "tags": [ + "History" + ], + "parameters": [ + { + "name": "date", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "eventType", + "in": "query", + "schema": { + "$ref": "#/components/schemas/HistoryEventType" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryResource" + } + } + } + } + } + } + } + }, + "/api/v1/history/indexer": { + "get": { + "tags": [ + "History" + ], + "parameters": [ + { + "name": "indexerId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "eventType", + "in": "query", + "schema": { + "$ref": "#/components/schemas/HistoryEventType" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryResource" + } + } + } + } + } + } + } + }, + "/api/v1/config/host/{id}": { + "get": { + "tags": [ + "HostConfig" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + } + } + } + } + }, + "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": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + } + } + } + } + } + }, + "/api/v1/config/host": { + "get": { + "tags": [ + "HostConfig" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HostConfigResource" + } + } + } + } + } + } + }, + "/api/v1/indexer/{id}": { + "get": { + "tags": [ + "Indexer" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + }, + "put": { + "tags": [ + "Indexer" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Indexer" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/indexer": { + "get": { + "tags": [ + "Indexer" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Indexer" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + } + }, + "/api/v1/indexer/schema": { + "get": { + "tags": [ + "Indexer" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + } + } + } + } + }, + "/api/v1/indexer/test": { + "post": { + "tags": [ + "Indexer" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/indexer/testall": { + "post": { + "tags": [ + "Indexer" + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/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" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/IndexerResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/config/indexer/{id}": { + "get": { + "tags": [ + "IndexerConfig" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + } + } + } + } + }, + "put": { + "tags": [ + "IndexerConfig" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + } + } + } + } + } + }, + "/api/v1/config/indexer": { + "get": { + "tags": [ + "IndexerConfig" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerConfigResource" + } + } + } + } + } + } + }, + "/api/v1/indexer/categories": { + "get": { + "tags": [ + "IndexerDefaultCategories" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerCategory" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerCategory" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerCategory" + } + } + } + } + } + } + } + }, + "/api/v1/indexer/editor": { + "put": { + "tags": [ + "IndexerEditor" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerEditorResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerEditorResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/IndexerEditorResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success" + } + } + }, + "delete": { + "tags": [ + "IndexerEditor" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerEditorResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerEditorResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/IndexerEditorResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/indexerproxy/{id}": { + "get": { + "tags": [ + "IndexerProxy" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + } + } + } + } + }, + "put": { + "tags": [ + "IndexerProxy" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + } + } + } + } + }, + "delete": { + "tags": [ + "IndexerProxy" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/indexerproxy": { + "get": { + "tags": [ + "IndexerProxy" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "IndexerProxy" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + } + } + } + } + } + }, + "/api/v1/indexerproxy/schema": { + "get": { + "tags": [ + "IndexerProxy" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + } + } + } + } + } + } + }, + "/api/v1/indexerproxy/test": { + "post": { + "tags": [ + "IndexerProxy" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/indexerproxy/testall": { + "post": { + "tags": [ + "IndexerProxy" + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/indexerproxy/action/{name}": { + "post": { + "tags": [ + "IndexerProxy" + ], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/IndexerProxyResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/indexerstats": { + "get": { + "tags": [ + "IndexerStats" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerStatsResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerStatsResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerStatsResource" + } + } + } + } + } + } + }, + "/api/v1/indexerstatus/{id}": { + "get": { + "tags": [ + "IndexerStatus" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IndexerStatusResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexerStatusResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IndexerStatusResource" + } + } + } + } + } + } + }, + "/api/v1/indexerstatus": { + "get": { + "tags": [ + "IndexerStatus" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerStatusResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerStatusResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerStatusResource" + } + } + } + } + } + } + } + }, + "/initialize.js": { + "get": { + "tags": [ + "InitializeJs" + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/language/{id}": { + "get": { + "tags": [ + "Language" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/LanguageResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/LanguageResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/LanguageResource" + } + } + } + } + } + } + }, + "/api/v1/language": { + "get": { + "tags": [ + "Language" + ], + "responses": { + "200": { + "description": "Success", + "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/v1/localization": { + "get": { + "tags": [ + "Localization" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + }, + "application/json": { + "schema": { + "type": "string" + } + }, + "text/json": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/api/v1/log": { + "get": { + "tags": [ + "Log" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/LogResourcePagingResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/LogResourcePagingResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/LogResourcePagingResource" + } + } + } + } + } + } + }, + "/api/v1/log/file": { + "get": { + "tags": [ + "LogFile" + ], + "responses": { + "200": { + "description": "Success", + "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/v1/log/file/{filename}": { + "get": { + "tags": [ + "LogFile" + ], + "parameters": [ + { + "name": "filename", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/indexer/{id}/newznab": { + "get": { + "tags": [ + "Newznab" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "t", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "q", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "cat", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "imdbid", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "tmdbid", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "extended", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "rid", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "tvmazeid", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "traktid", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "tvdbid", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "season", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "ep", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "album", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "artist", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "label", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "track", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "year", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "genre", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "author", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "title", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "configured", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "source", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "host", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "server", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/{id}/api": { + "get": { + "tags": [ + "Newznab" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "t", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "q", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "cat", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "imdbid", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "tmdbid", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "extended", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "rid", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "tvmazeid", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "traktid", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "tvdbid", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "season", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "ep", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "album", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "artist", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "label", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "track", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "year", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "genre", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "author", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "title", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "configured", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "source", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "host", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "server", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/indexer/{id}/download": { + "get": { + "tags": [ + "Newznab" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "link", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "file", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/{id}/download": { + "get": { + "tags": [ + "Newznab" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "link", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "file", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/notification/{id}": { + "get": { + "tags": [ + "Notification" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + }, + "put": { + "tags": [ + "Notification" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Notification" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/notification": { + "get": { + "tags": [ + "Notification" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Notification" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + } + }, + "/api/v1/notification/schema": { + "get": { + "tags": [ + "Notification" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + } + } + } + } + }, + "/api/v1/notification/test": { + "post": { + "tags": [ + "Notification" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/notification/testall": { + "post": { + "tags": [ + "Notification" + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/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" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/NotificationResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/appprofile/schema": { + "get": { + "tags": [ + "QualityProfileSchema" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AppProfileResource" + } + } + } + } + } + } + }, + "/api/v1/search/{id}": { + "get": { + "tags": [ + "Search" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/SearchResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/SearchResource" + } + } + } + } + } + } + }, + "/api/v1/search": { + "post": { + "tags": [ + "Search" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/SearchResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/SearchResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/SearchResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/SearchResource" + } + } + } + } + } + }, + "get": { + "tags": [ + "Search" + ], + "parameters": [ + { + "name": "query", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "indexerIds", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + { + "name": "categories", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchResource" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchResource" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchResource" + } + } + } + } + } + } + } + }, + "/content/{path}": { + "get": { + "tags": [ + "StaticResource" + ], + "parameters": [ + { + "name": "path", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/": { + "get": { + "tags": [ + "StaticResource" + ], + "parameters": [ + { + "name": "path", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/{path}": { + "get": { + "tags": [ + "StaticResource" + ], + "parameters": [ + { + "name": "path", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/system/status": { + "get": { + "tags": [ + "System" + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/system/routes": { + "get": { + "tags": [ + "System" + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/system/routes/duplicate": { + "get": { + "tags": [ + "System" + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/system/shutdown": { + "post": { + "tags": [ + "System" + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/system/restart": { + "post": { + "tags": [ + "System" + ], + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/api/v1/tag/{id}": { + "get": { + "tags": [ + "Tag" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + } + } + }, + "put": { + "tags": [ + "Tag" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "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": "Success" + } + } + } + }, + "/api/v1/tag": { + "get": { + "tags": [ + "Tag" + ], + "responses": { + "200": { + "description": "Success", + "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" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TagResource" + } + } + } + } + } + } + }, + "/api/v1/tag/detail/{id}": { + "get": { + "tags": [ + "TagDetails" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TagDetailsResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagDetailsResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TagDetailsResource" + } + } + } + } + } + } + }, + "/api/v1/tag/detail": { + "get": { + "tags": [ + "TagDetails" + ], + "responses": { + "200": { + "description": "Success", + "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/v1/system/task": { + "get": { + "tags": [ + "Task" + ], + "responses": { + "200": { + "description": "Success", + "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/v1/system/task/{id}": { + "get": { + "tags": [ + "Task" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TaskResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TaskResource" + } + } + } + } + } + } + }, + "/api/v1/config/ui/{id}": { + "get": { + "tags": [ + "UiConfig" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + } + } + } + } + }, + "put": { + "tags": [ + "UiConfig" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + } + } + } + } + } + }, + "/api/v1/config/ui": { + "get": { + "tags": [ + "UiConfig" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UiConfigResource" + } + } + } + } + } + } + }, + "/api/v1/update": { + "get": { + "tags": [ + "Update" + ], + "responses": { + "200": { + "description": "Success", + "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/v1/log/file/update": { + "get": { + "tags": [ + "UpdateLogFile" + ], + "responses": { + "200": { + "description": "Success", + "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/v1/log/file/update/{filename}": { + "get": { + "tags": [ + "UpdateLogFile" + ], + "parameters": [ + { + "name": "filename", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } + } + }, + "components": { + "schemas": { + "ApplicationResource": { + "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/ApplicationResource" + }, + "nullable": true + }, + "syncLevel": { + "$ref": "#/components/schemas/ApplicationSyncLevel" + }, + "testCommand": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ApplicationSyncLevel": { + "enum": [ + "disabled", + "addOnly", + "fullSync" + ], + "type": "string" + }, + "ApplyTags": { + "enum": [ + "add", + "remove", + "replace" + ], + "type": "string" + }, + "AppProfileResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "enableRss": { + "type": "boolean" + }, + "enableInteractiveSearch": { + "type": "boolean" + }, + "enableAutomaticSearch": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "AuthenticationType": { + "enum": [ + "none", + "basic", + "forms" + ], + "type": "string" + }, + "BackupResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "path": { + "type": "string", + "nullable": true + }, + "type": { + "$ref": "#/components/schemas/BackupType" + }, + "time": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false + }, + "BackupType": { + "enum": [ + "scheduled", + "manual", + "update" + ], + "type": "string" + }, + "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 + }, + "isTypeExclusive": { + "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" + }, + "queued": { + "type": "string", + "format": "date-time" + }, + "started": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ended": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "duration": { + "$ref": "#/components/schemas/TimeSpan" + }, + "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 + }, + "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 + }, + "DevelopmentConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "consoleLogLevel": { + "type": "string", + "nullable": true + }, + "logSql": { + "type": "boolean" + }, + "logIndexerResponse": { + "type": "boolean" + }, + "logRotate": { + "type": "integer", + "format": "int32" + }, + "filterSentryEvents": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "DownloadClientConfigResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "downloadClientWorkingFolders": { + "type": "string", + "nullable": true + }, + "enableCompletedDownloadHandling": { + "type": "boolean" + }, + "removeCompletedDownloads": { + "type": "boolean" + }, + "checkForFinishedDownloadInterval": { + "type": "integer", + "format": "int32" + }, + "autoRedownloadFailed": { + "type": "boolean" + }, + "removeFailedDownloads": { + "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" + } + }, + "additionalProperties": false + }, + "DownloadProtocol": { + "enum": [ + "unknown", + "usenet", + "torrent" + ], + "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 + }, + "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 + } + }, + "additionalProperties": false + }, + "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 + }, + "HistoryEventType": { + "enum": [ + "unknown", + "releaseGrabbed", + "indexerQuery", + "indexerRss", + "indexerAuth", + "indexerInfo" + ], + "type": "string" + }, + "HistoryResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "indexerId": { + "type": "integer", + "format": "int32" + }, + "date": { + "type": "string", + "format": "date-time" + }, + "downloadId": { + "type": "string", + "nullable": true + }, + "successful": { + "type": "boolean" + }, + "eventType": { + "$ref": "#/components/schemas/HistoryEventType" + }, + "data": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "nullable": true + } + }, + "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" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PagingResourceFilter" + }, + "nullable": true + }, + "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" + }, + "analyticsEnabled": { + "type": "boolean" + }, + "username": { + "type": "string", + "nullable": true + }, + "password": { + "type": "string", + "nullable": true + }, + "logLevel": { + "type": "string", + "nullable": true + }, + "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 + }, + "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" + }, + "historyCleanupDays": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "HostStatistics": { + "type": "object", + "properties": { + "host": { + "type": "string", + "nullable": true + }, + "numberOfQueries": { + "type": "integer", + "format": "int32" + }, + "numberOfGrabs": { + "type": "integer", + "format": "int32" + } + }, + "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 + }, + "IndexerCapabilityResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "limitsMax": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "limitsDefault": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "categories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerCategory" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "IndexerCategory": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string", + "nullable": true + }, + "description": { + "type": "string", + "nullable": true + }, + "subCategories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerCategory" + }, + "nullable": true, + "readOnly": 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 + }, + "IndexerEditorResource": { + "type": "object", + "properties": { + "indexerIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "enable": { + "type": "string", + "nullable": true + }, + "appProfileId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "applyTags": { + "$ref": "#/components/schemas/ApplyTags" + } + }, + "additionalProperties": false + }, + "IndexerPrivacy": { + "enum": [ + "public", + "semiPublic", + "private" + ], + "type": "string" + }, + "IndexerProxyResource": { + "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/IndexerProxyResource" + }, + "nullable": true + }, + "link": { + "type": "string", + "nullable": true + }, + "onHealthIssue": { + "type": "boolean" + }, + "supportsOnHealthIssue": { + "type": "boolean" + }, + "includeHealthWarnings": { + "type": "boolean" + }, + "testCommand": { + "type": "string", + "nullable": 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 + }, + "indexerUrls": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "description": { + "type": "string", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "encoding": { + "type": "string", + "nullable": true + }, + "enable": { + "type": "boolean" + }, + "redirect": { + "type": "boolean" + }, + "supportsRss": { + "type": "boolean" + }, + "supportsSearch": { + "type": "boolean" + }, + "supportsRedirect": { + "type": "boolean" + }, + "appProfileId": { + "type": "integer", + "format": "int32" + }, + "protocol": { + "$ref": "#/components/schemas/DownloadProtocol" + }, + "privacy": { + "$ref": "#/components/schemas/IndexerPrivacy" + }, + "capabilities": { + "$ref": "#/components/schemas/IndexerCapabilityResource" + }, + "priority": { + "type": "integer", + "format": "int32" + }, + "added": { + "type": "string", + "format": "date-time" + }, + "status": { + "$ref": "#/components/schemas/IndexerStatusResource" + }, + "sortName": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "IndexerStatistics": { + "type": "object", + "properties": { + "indexerId": { + "type": "integer", + "format": "int32" + }, + "indexerName": { + "type": "string", + "nullable": true + }, + "averageResponseTime": { + "type": "integer", + "format": "int32" + }, + "numberOfQueries": { + "type": "integer", + "format": "int32" + }, + "numberOfGrabs": { + "type": "integer", + "format": "int32" + }, + "numberOfRssQueries": { + "type": "integer", + "format": "int32" + }, + "numberOfAuthQueries": { + "type": "integer", + "format": "int32" + }, + "numberOfFailedQueries": { + "type": "integer", + "format": "int32" + }, + "numberOfFailedGrabs": { + "type": "integer", + "format": "int32" + }, + "numberOfFailedRssQueries": { + "type": "integer", + "format": "int32" + }, + "numberOfFailedAuthQueries": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "IndexerStatsResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "indexers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IndexerStatistics" + }, + "nullable": true + }, + "userAgents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserAgentStatistics" + }, + "nullable": true + }, + "hosts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HostStatistics" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "IndexerStatusResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "indexerId": { + "type": "integer", + "format": "int32" + }, + "disabledTill": { + "type": "string", + "format": "date-time", + "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 + }, + "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" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PagingResourceFilter" + }, + "nullable": true + }, + "totalRecords": { + "type": "integer", + "format": "int32" + }, + "records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogResource" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "NotificationResource": { + "type": "object", "properties": { "id": { "type": "integer", - "format": "int64" + "format": "int32" }, - "title": { + "name": { + "type": "string", + "nullable": true + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Field" + }, + "nullable": true + }, + "implementationName": { "type": "string", - "example": "Dark Phoenix" + "nullable": true }, - "sortTitle": { + "implementation": { "type": "string", - "example": "dark phoenix" + "nullable": true }, - "sizeOnDisk": { - "type": "number" + "configContract": { + "type": "string", + "nullable": true }, - "overview": { - "type": "string" + "infoLink": { + "type": "string", + "nullable": true }, - "inCinemas": { - "type": "string" + "message": { + "$ref": "#/components/schemas/ProviderMessage" }, - "physicalRelease": { - "type": "string" + "tags": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true }, - "images": { + "presets": { "type": "array", "items": { - "$ref": "#/components/schemas/Image" - } + "$ref": "#/components/schemas/NotificationResource" + }, + "nullable": true }, - "website": { + "link": { "type": "string", - "example": "http://darkphoenix.com" + "nullable": true }, - "year": { - "type": "integer" + "onHealthIssue": { + "type": "boolean" }, - "hasFile": { + "supportsOnHealthIssue": { "type": "boolean" }, - "youTubeTrailerId": { - "type": "string" + "includeHealthWarnings": { + "type": "boolean" }, - "studio": { - "type": "string" + "testCommand": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "PagingResourceFilter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "nullable": true }, - "path": { - "type": "string" + "value": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ProviderMessage": { + "type": "object", + "properties": { + "message": { + "type": "string", + "nullable": true }, - "qualityProfileId": { - "type": "integer" + "type": { + "$ref": "#/components/schemas/ProviderMessageType" + } + }, + "additionalProperties": false + }, + "ProviderMessageType": { + "enum": [ + "info", + "warning", + "error" + ], + "type": "string" + }, + "ProxyType": { + "enum": [ + "http", + "socks4", + "socks5" + ], + "type": "string" + }, + "SearchResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" }, - "monitored": { - "type": "boolean" + "guid": { + "type": "string", + "nullable": true }, - "minimumAcailability": { + "age": { + "type": "integer", + "format": "int32" + }, + "ageHours": { + "type": "number", + "format": "double" + }, + "ageMinutes": { + "type": "number", + "format": "double" + }, + "size": { + "type": "integer", + "format": "int64" + }, + "files": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "grabs": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "indexerId": { + "type": "integer", + "format": "int32" + }, + "indexer": { "type": "string", - "enum": [ - "announced", - "inCinema", - "released" - ] + "nullable": true }, - "isAvailable": { - "type": "boolean" + "subGroup": { + "type": "string", + "nullable": true }, - "folderName": { - "type": "string" + "releaseHash": { + "type": "string", + "nullable": true }, - "runtime": { - "type": "integer" + "title": { + "type": "string", + "nullable": true }, - "cleanTitle": { - "type": "string" + "approved": { + "type": "boolean" }, "imdbId": { - "type": "string" + "type": "integer", + "format": "int32" + }, + "publishDate": { + "type": "string", + "format": "date-time" + }, + "commentUrl": { + "type": "string", + "nullable": true }, - "tmdbId": { - "type": "integer" + "downloadUrl": { + "type": "string", + "nullable": true }, - "titleSlug": { - "type": "integer" + "infoUrl": { + "type": "string", + "nullable": true }, - "certification": { - "type": "string" + "posterUrl": { + "type": "string", + "nullable": true }, - "genres": { + "indexerFlags": { "type": "array", "items": { "type": "string" - } + }, + "nullable": true }, - "tags": { + "categories": { "type": "array", "items": { - "type": "integer" - } + "$ref": "#/components/schemas/IndexerCategory" + }, + "nullable": true }, - "added": { - "type": "string" + "magnetUrl": { + "type": "string", + "nullable": true + }, + "infoHash": { + "type": "string", + "nullable": true }, - "ratings": { - "$ref": "#/components/schemas/Rating" + "seeders": { + "type": "integer", + "format": "int32", + "nullable": true }, - "collection": { - "$ref": "#/components/schemas/Collection" + "leechers": { + "type": "integer", + "format": "int32", + "nullable": true }, - "status": { - "type": "string", - "description": "movie status", - "enum": [ - "deleted", - "tba", - "announced", - "inCinema", - "released" - ] + "protocol": { + "$ref": "#/components/schemas/DownloadProtocol" } }, - "xml": { - "name": "Movie" - } + "additionalProperties": false }, - "Image": { + "SelectOption": { "type": "object", "properties": { - "coverType": { + "value": { + "type": "integer", + "format": "int32" + }, + "name": { "type": "string", - "enum": [ - "poster", - "fanart" - ] + "nullable": true }, - "url": { - "type": "string" + "order": { + "type": "integer", + "format": "int32" + }, + "hint": { + "type": "string", + "nullable": true } }, - "xml": { - "name": "Image" - } + "additionalProperties": false + }, + "SortDirection": { + "enum": [ + "default", + "ascending", + "descending" + ], + "type": "string" }, - "Collection": { + "TagDetailsResource": { "type": "object", "properties": { - "name": { - "type": "string" + "id": { + "type": "integer", + "format": "int32" + }, + "label": { + "type": "string", + "nullable": true }, - "tmdbId": { - "type": "integer" + "notificationIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true }, - "images": { + "indexerIds": { "type": "array", "items": { - "$ref": "#/components/schemas/Image" - } + "type": "integer", + "format": "int32" + }, + "nullable": true + }, + "indexerProxyIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "nullable": true } }, - "xml": { - "name": "Collection" - } + "additionalProperties": false }, - "Rating": { + "TagResource": { "type": "object", "properties": { - "votes": { - "type": "integer" + "id": { + "type": "integer", + "format": "int32" }, - "value": { - "type": "integer" + "label": { + "type": "string", + "nullable": true } }, - "xml": { - "name": "Rating" - } + "additionalProperties": false }, - "Tag": { + "TaskResource": { "type": "object", "properties": { "id": { - "type": "integer" + "type": "integer", + "format": "int32" }, - "label": { - "type": "string" + "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": { + "$ref": "#/components/schemas/TimeSpan" } - } + }, + "additionalProperties": false + }, + "TimeSpan": { + "type": "object", + "properties": { + "ticks": { + "type": "integer", + "format": "int64", + "readOnly": true + }, + "days": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "hours": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "milliseconds": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "minutes": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "seconds": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "totalDays": { + "type": "number", + "format": "double", + "readOnly": true + }, + "totalHours": { + "type": "number", + "format": "double", + "readOnly": true + }, + "totalMilliseconds": { + "type": "number", + "format": "double", + "readOnly": true + }, + "totalMinutes": { + "type": "number", + "format": "double", + "readOnly": true + }, + "totalSeconds": { + "type": "number", + "format": "double", + "readOnly": true + } + }, + "additionalProperties": false }, - "TagDetail": { + "UiConfigResource": { "type": "object", "properties": { "id": { - "type": "integer" + "type": "integer", + "format": "int32" }, - "label": { - "type": "string" + "firstDayOfWeek": { + "type": "integer", + "format": "int32" }, - "delayProfileIds": { - "type": "array", - "items": { - "type": "integer" - } + "calendarWeekColumnHeader": { + "type": "string", + "nullable": true }, - "notificationIds": { - "type": "array", - "items": { - "type": "integer" - } + "shortDateFormat": { + "type": "string", + "nullable": true }, - "restrictionIds": { - "type": "array", - "items": { - "type": "integer" - } + "longDateFormat": { + "type": "string", + "nullable": true + }, + "timeFormat": { + "type": "string", + "nullable": true + }, + "showRelativeDates": { + "type": "boolean" + }, + "enableColorImpairedMode": { + "type": "boolean" + }, + "movieInfoLanguage": { + "type": "integer", + "format": "int32" }, - "netImportIds": { + "uiLanguage": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "UpdateChanges": { + "type": "object", + "properties": { + "new": { "type": "array", "items": { - "type": "integer" - } + "type": "string" + }, + "nullable": true }, - "movieIds": { + "fixed": { "type": "array", "items": { - "type": "integer" - } + "type": "string" + }, + "nullable": true } - } - } - }, - "securitySchemes": { - "X-API-Key": { - "type": "http", - "scheme": "basic", - "description": "Used when not providing the key via URL" + }, + "additionalProperties": false + }, + "UpdateMechanism": { + "enum": [ + "builtIn", + "script", + "external", + "apt", + "docker" + ], + "type": "string" + }, + "UpdateResource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "version": { + "$ref": "#/components/schemas/Version" + }, + "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 + }, + "UserAgentStatistics": { + "type": "object", + "properties": { + "userAgent": { + "type": "string", + "nullable": true + }, + "numberOfQueries": { + "type": "integer", + "format": "int32" + }, + "numberOfGrabs": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false }, - "api key": { - "name": "API Key", - "type": "apiKey", - "in": "query", - "description": "Used when not providing the key via header" + "Version": { + "type": "object", + "properties": { + "major": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "minor": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "build": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "revision": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "majorRevision": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "minorRevision": { + "type": "integer", + "format": "int32", + "readOnly": true + } + }, + "additionalProperties": false } } } -} +} \ No newline at end of file