From d7a685556b24ad18a7ea0b52f25552eabd4c9dcb Mon Sep 17 00:00:00 2001 From: Francisco Pombal Date: Tue, 30 Oct 2018 13:31:58 +0100 Subject: [PATCH] Convert more of the Torrent management API documentation to new format (the return section of some methods relating to torrent categories) + fixed linter errors according to markdownlint --- Web-API-Documentation.md | 271 ++++++++++++++++++++------------------- 1 file changed, 136 insertions(+), 135 deletions(-) diff --git a/Web-API-Documentation.md b/Web-API-Documentation.md index 393fbe8..47796a3 100644 --- a/Web-API-Documentation.md +++ b/Web-API-Documentation.md @@ -1,4 +1,5 @@ -## Note +## Note ## + This Web API documentation applies qBittorrent v4.1+, for previous API version read its documentation at [here](https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-Documentation). # Table of Contents # @@ -97,25 +98,30 @@ This Web API documentation applies qBittorrent v4.1+, for previous API version r # Changes # ## API v2.0 ## - * New version naming scheme: X.Y.Z (where X - major version, Y - minor version, Z - release version) - * New API paths. All API methods are under `api/vX/` (where X is API major version) - * API methods are under new scopes + +- New version naming scheme: X.Y.Z (where X - major version, Y - minor version, Z - release version) +- New API paths. All API methods are under `api/vX/` (where X is API major version) +- API methods are under new scopes ## API v2.0.1 ## - * Add `hashes` field to `/torrents/info` ([#8782](https://github.com/qbittorrent/qBittorrent/pull/8782)) - * Add `/torrents/setShareLimits/` method ([#8598](https://github.com/qbittorrent/qBittorrent/pull/8598)) + +- Add `hashes` field to `/torrents/info` ([#8782](https://github.com/qbittorrent/qBittorrent/pull/8782)) +- Add `/torrents/setShareLimits/` method ([#8598](https://github.com/qbittorrent/qBittorrent/pull/8598)) ## API v2.0.2 ## - * Add `/torrents/reannounce` method ([#9229](https://github.com/qbittorrent/qBittorrent/pull/9229)) + +- Add `/torrents/reannounce` method ([#9229](https://github.com/qbittorrent/qBittorrent/pull/9229)) ## API v2.1.0 ## - * Change `/sync/maindata` `categories` property from `array` to `object` ([#9228](https://github.com/qbittorrent/qBittorrent/pull/9228)) - * Add `savePath` field to `/torrents/setCategory` ([#9228](https://github.com/qbittorrent/qBittorrent/pull/9228)). This method now requires the category to already exist and will not create new categories. - * Add `/torrents/editCategory` method ([#9228](https://github.com/qbittorrent/qBittorrent/pull/9228)) + +- Change `/sync/maindata` `categories` property from `array` to `object` ([#9228](https://github.com/qbittorrent/qBittorrent/pull/9228)) +- Add `savePath` field to `/torrents/setCategory` ([#9228](https://github.com/qbittorrent/qBittorrent/pull/9228)). This method now requires the category to already exist and will notcreate new categories. +- Add `/torrents/editCategory` method ([#9228](https://github.com/qbittorrent/qBittorrent/pull/9228)) ## API v2.1.1 ## - * Add `/torrents/categories` method ([#9586](https://github.com/qbittorrent/qBittorrent/pull/9586)) - * Add `/search/` methods ([#8584](https://github.com/qbittorrent/qBittorrent/pull/8584)) + +- Add `/torrents/categories` method ([#9586](https://github.com/qbittorrent/qBittorrent/pull/9586)) +- Add `/search/` methods ([#8584](https://github.com/qbittorrent/qBittorrent/pull/8584)) # General Information # @@ -128,7 +134,7 @@ All Authorization API methods are under "auth", e.g.: `/api/v2/auth/methodName`. qBittorrent uses cookie-based authentication. -### Login ### +## Login ## Name: `login` @@ -148,6 +154,7 @@ TODO | TODO Upon success, the response will contain a cookie with your SID. You must supply the cookie whenever you want to perform an operation that requires authentication. Example showing how to login and execute a command that requires authentication using `curl`: + ```sh $ curl -i --header 'Referer: http://localhost:8080' --data 'username=admin&password=adminadmin' http://localhost:8080/api/v2/auth/login HTTP/1.1 200 OK @@ -160,7 +167,7 @@ $ curl http://localhost:8080/api/v2/torrents/info --cookie "SID=hBc7TxF76ERhvIw0 Note: Set `Referer` or `Origin` header to the exact same domain and port as used in the HTTP query `Host` header. -### Logout ### +## Logout ## Name: `logout` @@ -180,7 +187,7 @@ TODO | TODO All Application API methods are under "app", e.g.: `/api/v2/app/methodName`. -### Get application version ### +## Get application version ## Name: `version` @@ -198,7 +205,7 @@ TODO | TODO The response is a string with the application version, e.g. `v4.1.3` -### Get API version ### +## Get API version ## Name: `webapiVersion` @@ -216,7 +223,7 @@ TODO | TODO The response is a string with the WebAPI version, e.g. `2.0` -### Shutdown application ### +## Shutdown application ## Name: `shutdown` @@ -232,7 +239,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- TODO | TODO -### Get application preferences ### +## Get application preferences ## Name: `preferences` @@ -476,7 +483,7 @@ Example: } ``` -### Set application preferences ### +## Set application preferences ## Name: `setPreferences` @@ -506,7 +513,7 @@ HTTP Status Code | Scenario For a list of possible preference options see [Get application preferences](#get-application-preferences) -### Get default save path ### +## Get default save path ## Name: `defaultSavePath` @@ -528,7 +535,7 @@ The response is a string with the default save path, e.g. `C:/Users/Dayman/Downl All Log API methods are under "log", e.g.: `/api/v2/log/methodName`. -### Get log ### +## Get log ## Name: `main` @@ -568,6 +575,7 @@ Property | Type | Description `type` | integer | Type of the message: Log::NORMAL: `1`, Log::INFO: `2`, Log::WARNING: `4`, Log::CRITICAL: `8` Example: + ```JSON [ { @@ -669,7 +677,7 @@ Example: ] ``` -### Get peer log ### +## Get peer log ## Name: `peers` @@ -702,7 +710,7 @@ Property | Type | Description Sync API implements requests for obtaining changes since the last request. All Sync API methods are under "sync", e.g.: `/api/v2/sync/methodName`. -### Get main data ### +## Get main data ## Name: `maindata` @@ -754,7 +762,7 @@ Example: } ``` -### Get torrent peers data ### +## Get torrent peers data ## Name: `torrentPeers` @@ -768,6 +776,7 @@ Parameter | Description `rid` | Response ID. If not provided, `rid=0` will be assumed. If the given `rid` is different from the one of last server reply, `full_update` will be `true` (see the server reply details for more info) Example: + ```http /api/v2/sync/torrentPeers?hash=8c212779b4abde7c6bc608063a0d008b7e40ce32?rid=14 ``` @@ -784,7 +793,7 @@ The response is TODO All Transfer info API methods are under "transfer", e.g.: `/api/v2/transfer/methodName`. -### Get global transfer info ### +## Get global transfer info ## This method returns info you usually see in qBt status bar. @@ -846,7 +855,7 @@ Example: } ``` -### Get alternative speed limits state ### +## Get alternative speed limits state ## Name: `speedLimitsMode` @@ -864,7 +873,7 @@ TODO | TODO The response is `1` if alternative speed limits are enabled, `0` otherwise. -### Toggle alternative speed limits ### +## Toggle alternative speed limits ## Name: `toggleSpeedLimitsMode` @@ -880,7 +889,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- TODO | TODO -### Get global download limit ### +## Get global download limit ## Name: `downloadLimit` @@ -898,7 +907,7 @@ TODO | TODO The response is the value of current global download speed limit in bytes/second; this value will be zero if no limit is applied. -### Set global download limit ### +## Set global download limit ## Name: `setDownloadLimit` @@ -916,7 +925,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Get global upload limit ### +## Get global upload limit ## Name: `uploadLimit` @@ -934,7 +943,7 @@ TODO | TODO The response is the value of current global upload speed limit in bytes/second; this value will be zero if no limit is applied. -### Set global upload limit ### +## Set global upload limit ## Name: `setUploadLimit` @@ -956,7 +965,7 @@ HTTP Status Code | Scenario All Torrent management API methods are under "torrents", e.g.: `/api/v2/torrents/methodName`. -### Get torrent list ### +## Get torrent list ## Name: `info` @@ -975,6 +984,7 @@ Parameter | Description `hashes` _optional_ | Filter by hashes. Can contain multiple hashes separated by `\|` Example: + ```http /api/v2/torrents/info?filter=downloading&category=sample%20category&sort=ratio ``` @@ -1057,7 +1067,7 @@ Example: ] ``` -### Get torrent generic properties ### +## Get torrent generic properties ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1078,6 +1088,7 @@ HTTP Status Code | Scenario TODO | TODO The response is: + - empty, if the torrent hash is invalid - otherwise, a JSON object with the following fields @@ -1159,7 +1170,7 @@ Example: } ``` -### Get torrent trackers ### +## Get torrent trackers ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1180,6 +1191,7 @@ HTTP Status Code | Scenario TODO | TODO The response is: + - empty, if the torrent hash is invalid - otherwise, a JSON array, where each element contains info about one tracker, with the following fields @@ -1215,7 +1227,7 @@ Example: ] ``` -### Get torrent web seeds ### +## Get torrent web seeds ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1254,7 +1266,7 @@ Example: ] ``` -### Get torrent contents ### +## Get torrent contents ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1275,6 +1287,7 @@ HTTP Status Code | Scenario TODO | TODO The response is: + - empty, if the torrent hash is invalid - otherwise, a JSON array, where each element contains info about one file, with the following fields @@ -1312,7 +1325,7 @@ Example: ] ``` -### Get torrent pieces' states ### +## Get torrent pieces' states ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1333,6 +1346,7 @@ HTTP Status Code | Scenario TODO | TODO The response is: + - empty, if the torrent hash is invalid - otherwise, an array of states (integers) of all pieces (in order) of a specific torrent. @@ -1350,7 +1364,7 @@ Example: [0,0,2,1,0,0,2,1] ``` -### Get torrent pieces' hashes ### +## Get torrent pieces' hashes ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1371,6 +1385,7 @@ HTTP Status Code | Scenario TODO | TODO The response is: + - empty, if the torrent hash is invalid - otherwise, an array of hashes (strings) of all pieces (in order) of a specific torrent. @@ -1380,7 +1395,7 @@ Example: ["54eddd830a5b58480a6143d616a97e3a6c23c439","f8a99d225aa4241db100f88407fc3bdaead583ab","928fb615b9bd4dd8f9e9022552c8f8f37ef76f58"] ``` -### Pause torrents ### +## Pause torrents ## Requires knowing the torrent hashes. You can get it from [torrent list](#get-torrent-list). @@ -1406,7 +1421,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Resume torrents ### +## Resume torrents ## Requires knowing the torrent hashes. You can get it from [torrent list](#get-torrent-list). @@ -1432,7 +1447,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Delete torrents ### +## Delete torrents ## Requires knowing the torrent hashes. You can get it from [torrent list](#get-torrent-list). @@ -1459,7 +1474,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Recheck torrents ### +## Recheck torrents ## Requires knowing the torrent hashes. You can get it from [torrent list](#get-torrent-list). @@ -1485,7 +1500,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Reannounce torrents ### +## Reannounce torrents ## Requires knowing the torrent hashes. You can get it from [torrent list](#get-torrent-list). @@ -1511,7 +1526,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Add new torrent ### +## Add new torrent ## This method can add torrents from server local file or from URLs. `http://`, `https://`, `magnet:` and `bc://bt/` links are supported. @@ -1605,7 +1620,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Add trackers to torrent ### +## Add trackers to torrent ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1628,7 +1643,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Increase torrent priority ### +## Increase torrent priority ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1654,7 +1669,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Decrease torrent priority ### +## Decrease torrent priority ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1680,7 +1695,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Maximal torrent priority ### +## Maximal torrent priority ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1706,7 +1721,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Minimal torrent priority ### +## Minimal torrent priority ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1732,7 +1747,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Set file priority ### +## Set file priority ## Requires knowing the torrent hashes. You can get it from [torrent list](#get-torrent-list). @@ -1755,7 +1770,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Get torrent download limit ### +## Get torrent download limit ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1784,7 +1799,7 @@ content-length: length `8c212779b4abde7c6bc608063a0d008b7e40ce32` is the hash of the torrent and `338944` its download speed limit in bytes per second; this value will be zero if no limit is applied. -### Set torrent download limit ### +## Set torrent download limit ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1799,7 +1814,7 @@ Content-Length: length hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&limit=131072 ``` -`hashes` can contain multiple hashes separated by `|` or set to `all`
+`hashes` can contain multiple hashes separated by `|` or set to `all` `limit` is the download speed limit in bytes per second you want to set. **Returns:** @@ -1808,7 +1823,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Set torrent share limit ### +## Set torrent share limit ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1823,8 +1838,8 @@ Content-Length: length hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&ratioLimit=1.0&seedingTimeLimit=60 ``` -`hashes` can contain multiple hashes separated by `|` or set to `all`
-`ratioLimit` is the max ratio the torrent should be seeded until. `-2` means the global limit should be used, `-1` means no limit.
+`hashes` can contain multiple hashes separated by `|` or set to `all` +`ratioLimit` is the max ratio the torrent should be seeded until. `-2` means the global limit should be used, `-1` means no limit. `seedingTimeLimit` is the max amount of time the torrent should be seeded. `-2` means the global limit should be used, `-1` means no limit. **Returns:** @@ -1833,7 +1848,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Get torrent upload limit ### +## Get torrent upload limit ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1862,7 +1877,7 @@ content-length: length `8c212779b4abde7c6bc608063a0d008b7e40ce32` is the hash of the torrent in the request and `338944` its upload speed limit in bytes per second; this value will be zero if no limit is applied. -### Set torrent upload limit ### +## Set torrent upload limit ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1877,7 +1892,7 @@ Content-Length: length hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&limit=131072 ``` -`hashes` can contain multiple hashes separated by `|` or set to `all`
+`hashes` can contain multiple hashes separated by `|` or set to `all` `limit` is the upload speed limit in bytes per second you want to set. **Returns:** @@ -1886,7 +1901,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Set torrent location ### +## Set torrent location ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1901,7 +1916,7 @@ Content-Length: length hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&location=/mnt/nfs/media ``` -`hashes` can contain multiple hashes separated by `|` or set to `all`
+`hashes` can contain multiple hashes separated by `|` or set to `all` `location` is the location to download the torrent to. If the location doesn't exist, the torrent's location is unchanged. **Returns:** @@ -1910,7 +1925,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Set torrent name ### +## Set torrent name ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1925,25 +1940,15 @@ Content-Length: length hash=8c212779b4abde7c6bc608063a0d008b7e40ce32&name=This%20is%20a%20test ``` -If given name is invalid, the server will reply with: +**Returns:** -```http -HTTP/1.1 409 Conflict -``` +HTTP Status Code | Scenario +----------------------------------|--------------------- +409 | The given torrent name is invalid +404 | The given torrent hash is invalid +200 | All other scenarios -If your torrent hash is invalid, the server will reply with: - -```http -HTTP/1.1 404 Not Found -``` - -Otherwise, the server will reply with: - -```http -HTTP/1.1 200 OK -``` - -### Set torrent category ### +## Set torrent category ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -1958,22 +1963,17 @@ Content-Length: length hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&category=CategoryName ``` -`hashes` can contain multiple hashes separated by `|` or set to `all`
+`hashes` can contain multiple hashes separated by `|` or set to `all` `category` is the torrent category you want to set. -If given category name does not exist, the server will reply with: +**Returns:** -```http -HTTP/1.1 409 Conflict -``` +HTTP Status Code | Scenario +----------------------------------|--------------------- +409 | The given category name does not exist +200 | All other scenarios -Otherwise, the server will reply with: - -```http -HTTP/1.1 200 OK -``` - -### Add new category ### +## Add new category ## ```http POST /api/v2/torrents/createCategory HTTP/1.1 @@ -1988,19 +1988,14 @@ category=CategoryName `category` is the category you want to create. -If given category name is invalid, the server will reply with: +**Returns:** -```http -HTTP/1.1 409 Conflict -``` +HTTP Status Code | Scenario +----------------------------------|--------------------- +409 | The given category name is invalid +200 | All other scenarios -Otherwise, the server will reply with: - -```http -HTTP/1.1 200 OK -``` - -### Remove categories ### +## Remove categories ## ```http POST /api/v2/torrents/removeCategories HTTP/1.1 @@ -2021,7 +2016,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Set automatic torrent management ### +## Set automatic torrent management ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -2036,7 +2031,7 @@ Content-Length: length hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&enable=true ``` -`hashes` can contain multiple hashes separated by `|` or set to `all`
+`hashes` can contain multiple hashes separated by `|` or set to `all` `enable` is a boolean, affects the torrents listed in `hashes`, default is `false` **Returns:** @@ -2045,7 +2040,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Toggle sequential download ### +## Toggle sequential download ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -2071,7 +2066,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Set first/last piece priority ### +## Set first/last piece priority ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -2097,7 +2092,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Set force start ### +## Set force start ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -2112,7 +2107,7 @@ Content-Length: length hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32?value=true ``` -`hashes` can contain multiple hashes separated by `|` or set to `all`
+`hashes` can contain multiple hashes separated by `|` or set to `all` `value` is a boolean, affects the torrents listed in `hashes`, default is `false` **Returns:** @@ -2121,7 +2116,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Set super seeding ### +## Set super seeding ## Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list). @@ -2136,7 +2131,7 @@ Content-Length: length hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32?value=true ``` -`hashes` can contain multiple hashes separated by `|` or set to `all`
+`hashes` can contain multiple hashes separated by `|` or set to `all` `value` is a boolean, affects the torrents listed in `hashes`, default is `false` **Returns:** @@ -2149,7 +2144,7 @@ HTTP Status Code | Scenario All RSS API methods are under "rss", e.g.: `/api/v2/rss/methodName`. -### Add folder ### +## Add folder ## Name: `addFolder` @@ -2159,7 +2154,7 @@ Parameter | Type | Description ----------------------------------|---------|------------ `path` | string | Full path of added folder (e.g. "The Pirate Bay/Top100") -### Add feed ### +## Add feed ## Name: `addFeed` @@ -2167,10 +2162,10 @@ Parameters: Parameter | Type | Description ----------------------------------|---------|------------ -`url` | string | URL of RSS feed (e.g. "http://thepiratebay.org/rss//top100/200") +`url` | string | URL of RSS feed (e.g. "[http://thepiratebay.org/rss//top100/200](http://thepiratebay.org/rss//top100/200)") `path` _optional_ | string | Full path of added folder (e.g. "The Pirate Bay/Top100/Video") -### Remove item ### +## Remove item ## Removes folder or feed. @@ -2182,7 +2177,7 @@ Parameter | Type | Description ----------------------------------|---------|------------ `path` | string | Full path of removed item (e.g. "The Pirate Bay/Top100") -### Move item ### +## Move item ## Moves/renames folder or feed. @@ -2195,7 +2190,7 @@ Parameter | Type | Description `itemPath` | string | Current full path of item (e.g. "The Pirate Bay/Top100") `destPath` | string | New full path of item (e.g. "The Pirate Bay") -### Get all items ### +## Get all items ## Name: `items` @@ -2206,6 +2201,7 @@ Parameter | Type | Description `withData` _optional_ | bool | True if you need current feed articles Returns all RSS items in JSON format, e.g.: + ```JSON { "HD-Torrents.org": "https://hd-torrents.org/rss.php", @@ -2217,7 +2213,7 @@ Returns all RSS items in JSON format, e.g.: } ``` -### Set auto-downloading rule ### +## Set auto-downloading rule ## Name: `setRule` @@ -2247,7 +2243,8 @@ Field | Type | Description `savePath` | string | Save torrent to the given directory E.g.: -```json + +```JSON { "enabled": false, "mustContain": "The *Punisher*", @@ -2268,7 +2265,7 @@ E.g.: } ``` -### Rename auto-downloading rule ### +## Rename auto-downloading rule ## Name: `renameRule` @@ -2279,7 +2276,7 @@ Parameter | Type | Description `ruleName` | string | Rule name (e.g. "Punisher") `newRuleName` | string | New rule name (e.g. "The Punisher") -### Remove auto-downloading rule ### +## Remove auto-downloading rule ## Name: `removeRule` @@ -2289,12 +2286,13 @@ Parameter | Type | Description ----------------------------------|---------|------------ `ruleName` | string | Rule name (e.g. "Punisher") -### Get all auto-downloading rules ### +## Get all auto-downloading rules ## Name: `rules` Returns all auto-downloading rules in JSON format, e.g.: -```json + +```JSON { "The Punisher": { "enabled": false, @@ -2321,7 +2319,7 @@ Returns all auto-downloading rules in JSON format, e.g.: All Search API methods are under "search", e.g.: `/api/v2/search/methodName`. -### Start search ### +## Start search ## Name: `start` @@ -2347,13 +2345,14 @@ Field | Type | Description `id` | number | ID of the search job Example: + ```JSON { "id": 12345 } ``` -### Stop search ### +## Stop search ## Name: `stop` @@ -2370,7 +2369,7 @@ HTTP Status Code | Scenario 404 | Search job was not found 200 | All other scenarios -### Get search status ### +## Get search status ## Name: `status` @@ -2396,6 +2395,7 @@ Field | Type | Description `total` | number | Total number of results. If the status is `Running` this number may contineu to increase Example: + ```JSON [ { @@ -2406,7 +2406,7 @@ Example: ] ``` -### Get search results ### +## Get search results ## Name: `results` @@ -2434,7 +2434,7 @@ Field | Type | Description `status` | string | Current status of the search job (either `Running` or `Stopped`) `total` | number | Total number of results. If the status is `Running` this number may continue to increase -*Result object* +**Result object:** Field | Type | Description ----------------------------------|---------|------------ @@ -2447,6 +2447,7 @@ Field | Type | Description `siteUrl` | string | URL of the torrent site Example: + ```JSON { "results": [ @@ -2474,7 +2475,7 @@ Example: } ``` -### Delete search ### +## Delete search ## Name: `delete` @@ -2491,7 +2492,7 @@ HTTP Status Code | Scenario 404 | Search job was not found 200 | All other scenarios -### Get search categories ### +## Get search categories ## Name: `categories` @@ -2521,7 +2522,7 @@ The response is a JSON array containing a list of categories as strings ] ``` -### Get search plugins ### +## Get search plugins ## Name: `plugins` @@ -2566,7 +2567,7 @@ Field | Type | Description ] ``` -### Install search plugin ### +## Install search plugin ## Name: `installPlugin` @@ -2574,7 +2575,7 @@ Name: `installPlugin` Parameter | Type | Description ----------------------------------|---------|------------ -`sources` | string | Url or file path of the plugin to install (e.g. "https://raw.githubusercontent.com/qbittorrent/search-plugins/master/nova3/engines/legittorrents.py"). Supports multiple sources separaed by `\|` +`sources` | string | Url or file path of the plugin to install (e.g. "[https://raw.githubusercontent.com/qbittorrent/search-plugins/master/nova3/engines/legittorrents.py](https://raw.githubusercontent.com/qbittorrent/search-plugins/master/nova3/engines/legittorrents.py)"). Supports multiple sources separaed by `\|` **Returns:** @@ -2582,7 +2583,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Uninstall search plugin ### +## Uninstall search plugin ## Name: `uninstallPlugin` @@ -2598,7 +2599,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Enable search plugin ### +## Enable search plugin ## Name: `enablePlugin` @@ -2615,7 +2616,7 @@ HTTP Status Code | Scenario ----------------------------------|--------------------- 200 | All scenarios -### Update search plugins ### +## Update search plugins ## Name: `updatePlugins`