source: trunk/extras/rpc-spec.txt @ 13328

Last change on this file since 13328 was 13328, checked in by jordan, 9 years ago

point to 'transmission-remote --debug' as a reference for the RPC syntax of various requests

File size: 40.4 KB
Line 
11.  Introduction
2
3   This document describes a protocol for interacting with Transmission
4   sessions remotely.
5
61.1  Terminology
7
8   The JSON terminology in RFC 4627 is used.
9
10   JSON is fairly common now, but for the benefit of
11   torrent developers familiar with benc:
12   a JSON array is equivalent to a benc list,
13   a JSON object is equivalent to a benc dictionary,
14   and a JSON object's keys are the dictionary's string keys.
15
161.2  Resources
17
18   The command-line utility "transmission-remote" uses this RPC API.
19   Several developers have reported using its --debug JSON output as
20   a reference when developing/debugging their own code.
21   
222.  Message Format
23
24   Messages are formatted as objects.  There are two types:
25   requests (described in 2.1) and responses (described in 2.2).
26
27   All text MUST be UTF-8 encoded.
28
292.1.  Requests
30
31   Requests support three keys:
32
33   (1) A required "method" string telling the name of the method to invoke
34   (2) An optional "arguments" object of key/value pairs
35   (3) An optional "tag" number used by clients to track responses.
36       If provided by a request, the response MUST include the same tag.
37
382.2.  Responses
39
40   Reponses support three keys:
41
42   (1) A required "result" string whose value MUST be "success" on success,
43       or an error string on failure.
44   (2) An optional "arguments" object of key/value pairs
45   (3) An optional "tag" number as described in 2.1.
46
472.3.  Transport Mechanism
48
49   HTTP POSTing a JSON-encoded request is the preferred way of communicating
50   with a Transmission RPC server.  The current Transmission implementation
51   has the default URL as http://host:9091/transmission/rpc.  Clients
52   may use this as a default, but should allow the URL to be reconfigured,
53   since the port and path may be changed to allow mapping and/or multiple
54   daemons to run on a single server.
55
562.3.1.  CSRF Protection
57
58   Most Transmission RPC servers require a X-Transmission-Session-Id
59   header to be sent with requests, to prevent CSRF attacks.
60
61   When your request has the wrong id -- such as when you send your first
62   request, or when the server expires the CSRF token -- the
63   Transmission RPC server will return an HTTP 409 error with the
64   right X-Transmission-Session-Id in its own headers.
65
66   So, the correct way to handle a 409 response is to update your
67   X-Transmission-Session-Id and to resend the previous request.
68
693.  Torrent Requests
70
713.1.  Torrent Action Requests
72
73   Method name          | libtransmission function
74   ---------------------+-------------------------------------------------
75   "torrent-start"      | tr_torrentStart
76   "torrent-start-now"  | tr_torrentStartNow
77   "torrent-stop"       | tr_torrentStop
78   "torrent-verify"     | tr_torrentVerify
79   "torrent-reannounce" | tr_torrentManualUpdate ("ask tracker for more peers")
80
81   Request arguments: "ids", which specifies which torrents to use.
82                  All torrents are used if the "ids" argument is omitted.
83                  "ids" should be one of the following:
84                  (1) an integer referring to a torrent id
85                  (2) a list of torrent id numbers, sha1 hash strings, or both
86                  (3) a string, "recently-active", for recently-active torrents
87
88   Response arguments: none
89
903.2.  Torrent Mutators
91
92   Method name: "torrent-set"
93
94   Request arguments:
95
96   string                | value type & description
97   ----------------------+-------------------------------------------------
98   "bandwidthPriority"   | number     this torrent's bandwidth tr_priority_t
99   "downloadLimit"       | number     maximum download speed (KBps)
100   "downloadLimited"     | boolean    true if "downloadLimit" is honored
101   "files-wanted"        | array      indices of file(s) to download
102   "files-unwanted"      | array      indices of file(s) to not download
103   "honorsSessionLimits" | boolean    true if session upload limits are honored
104   "ids"                 | array      torrent list, as described in 3.1
105   "location"            | string     new location of the torrent's content
106   "peer-limit"          | number     maximum number of peers
107   "priority-high"       | array      indices of high-priority file(s)
108   "priority-low"        | array      indices of low-priority file(s)
109   "priority-normal"     | array      indices of normal-priority file(s)
110   "queuePosition"       | number     position of this torrent in its queue [0...n)
111   "seedIdleLimit"       | number     torrent-level number of minutes of seeding inactivity
112   "seedIdleMode"        | number     which seeding inactivity to use.  See tr_inactvelimit
113   "seedRatioLimit"      | double     torrent-level seeding ratio
114   "seedRatioMode"       | number     which ratio to use.  See tr_ratiolimit
115   "trackerAdd"          | array      strings of announce URLs to add
116   "trackerRemove"       | array      ids of trackers to remove
117   "trackerReplace"      | array      pairs of <trackerId/new announce URLs>
118   "uploadLimit"         | number     maximum upload speed (KBps)
119   "uploadLimited"       | boolean    true if "uploadLimit" is honored
120
121   Just as an empty "ids" value is shorthand for "all ids", using an empty array
122   for "files-wanted", "files-unwanted", "priority-high", "priority-low", or
123   "priority-normal" is shorthand for saying "all files".
124
125   Response arguments: none
126
1273.3.  Torrent Accessors
128
129   Method name: "torrent-get".
130
131   Request arguments:
132
133   (1) An optional "ids" array as described in 3.1.
134   (2) A required "fields" array of keys. (see list below)
135
136   Response arguments:
137
138   (1) A "torrents" array of objects, each of which contains
139       the key/value pairs matching the request's "fields" argument.
140   (2) If the request's "ids" field was "recently-active",
141       a "removed" array of torrent-id numbers of recently-removed
142       torrents.
143
144   Note: For more information on what these fields mean, see the comments
145   in libtransmission/transmission.h.  The "source" column here
146   corresponds to the data structure there.
147
148   key                         | type                        | source
149   ----------------------------+-----------------------------+---------
150   activityDate                | number                      | tr_stat
151   addedDate                   | number                      | tr_stat
152   bandwidthPriority           | number                      | tr_priority_t
153   comment                     | string                      | tr_info
154   corruptEver                 | number                      | tr_stat
155   creator                     | string                      | tr_info
156   dateCreated                 | number                      | tr_info
157   desiredAvailable            | number                      | tr_stat
158   doneDate                    | number                      | tr_stat
159   downloadDir                 | string                      | tr_torrent
160   downloadedEver              | number                      | tr_stat
161   downloadLimit               | number                      | tr_torrent
162   downloadLimited             | boolean                     | tr_torrent
163   error                       | number                      | tr_stat
164   errorString                 | string                      | tr_stat
165   eta                         | number                      | tr_stat
166   files                       | array (see below)           | n/a
167   fileStats                   | array (see below)           | n/a
168   hashString                  | string                      | tr_info
169   haveUnchecked               | number                      | tr_stat
170   haveValid                   | number                      | tr_stat
171   honorsSessionLimits         | boolean                     | tr_torrent
172   id                          | number                      | tr_torrent
173   isFinished                  | boolean                     | tr_stat
174   isPrivate                   | boolean                     | tr_torrent
175   isStalled                   | boolean                     | tr_stat
176   leftUntilDone               | number                      | tr_stat
177   magnetLink                  | number                      | n/a
178   manualAnnounceTime          | number                      | tr_stat
179   maxConnectedPeers           | number                      | tr_torrent
180   metadataPercentComplete     | double                      | tr_stat
181   name                        | string                      | tr_info
182   peer-limit                  | number                      | tr_torrent
183   peers                       | array (see below)           | n/a
184   peersConnected              | number                      | tr_stat
185   peersFrom                   | object (see below)          | n/a
186   peersGettingFromUs          | number                      | tr_stat
187   peersSendingToUs            | number                      | tr_stat
188   percentDone                 | double                      | tr_stat
189   pieces                      | string (see below)          | tr_torrent
190   pieceCount                  | number                      | tr_info
191   pieceSize                   | number                      | tr_info
192   priorities                  | array (see below)           | n/a
193   queuePosition               | number                      | tr_stat
194   rateDownload (B/s)          | number                      | tr_stat
195   rateUpload (B/s)            | number                      | tr_stat
196   recheckProgress             | double                      | tr_stat
197   secondsDownloading          | number                      | tr_stat
198   secondsSeeding              | number                      | tr_stat
199   seedIdleLimit               | number                      | tr_torrent
200   seedIdleMode                | number                      | tr_inactvelimit
201   seedRatioLimit              | double                      | tr_torrent
202   seedRatioMode               | number                      | tr_ratiolimit
203   sizeWhenDone                | number                      | tr_stat
204   startDate                   | number                      | tr_stat
205   status                      | number                      | tr_stat
206   trackers                    | array (see below)           | n/a
207   trackerStats                | array (see below)           | n/a
208   totalSize                   | number                      | tr_info
209   torrentFile                 | string                      | tr_info
210   uploadedEver                | number                      | tr_stat
211   uploadLimit                 | number                      | tr_torrent
212   uploadLimited               | boolean                     | tr_torrent
213   uploadRatio                 | double                      | tr_stat
214   wanted                      | array (see below)           | n/a
215   webseeds                    | array (see below)           | n/a
216   webseedsSendingToUs         | number                      | tr_stat
217                               |                             |
218                               |                             |
219   -------------------+--------+-----------------------------+
220   files              | array of objects, each containing:   |
221                      +-------------------------+------------+
222                      | bytesCompleted          | number     | tr_torrent
223                      | length                  | number     | tr_info
224                      | name                    | string     | tr_info
225   -------------------+--------------------------------------+
226   fileStats          | a file's non-constant properties.    |
227                      | array of tr_info.filecount objects,  |
228                      | each containing:                     |
229                      +-------------------------+------------+
230                      | bytesCompleted          | number     | tr_torrent
231                      | wanted                  | boolean    | tr_info
232                      | priority                | number     | tr_info
233   -------------------+--------------------------------------+
234   peers              | array of objects, each containing:   |
235                      +-------------------------+------------+
236                      | address                 | string     | tr_peer_stat
237                      | clientName              | string     | tr_peer_stat
238                      | clientIsChoked          | boolean    | tr_peer_stat
239                      | clientIsInterested      | boolean    | tr_peer_stat
240                      | flagStr                 | string     | tr_peer_stat
241                      | isDownloadingFrom       | boolean    | tr_peer_stat
242                      | isEncrypted             | boolean    | tr_peer_stat
243                      | isIncoming              | boolean    | tr_peer_stat
244                      | isUploadingTo           | boolean    | tr_peer_stat
245                      | isUTP                   | boolean    | tr_peer_stat
246                      | peerIsChoked            | boolean    | tr_peer_stat
247                      | peerIsInterested        | boolean    | tr_peer_stat
248                      | port                    | number     | tr_peer_stat
249                      | progress                | double     | tr_peer_stat
250                      | rateToClient (B/s)      | number     | tr_peer_stat
251                      | rateToPeer (B/s)        | number     | tr_peer_stat
252   -------------------+--------------------------------------+
253   peersFrom          | an object containing:                |
254                      +-------------------------+------------+
255                      | fromCache               | number     | tr_stat
256                      | fromDht                 | number     | tr_stat
257                      | fromIncoming            | number     | tr_stat
258                      | fromLpd                 | number     | tr_stat
259                      | fromLtep                | number     | tr_stat
260                      | fromPex                 | number     | tr_stat
261                      | fromTracker             | number     | tr_stat
262   -------------------+--------------------------------------+
263   pieces             | A bitfield holding pieceCount flags  | tr_torrent
264                      | which are set to 'true' if we have   |
265                      | the piece matching that position.    |
266                      | JSON doesn't allow raw binary data,  |
267                      | so this is a base64-encoded string.  |
268   -------------------+--------------------------------------+
269   priorities         | an array of tr_info.filecount        | tr_info
270                      | numbers. each is the tr_priority_t   |
271                      | mode for the corresponding file.     |
272   -------------------+--------------------------------------+
273   trackers           | array of objects, each containing:   |
274                      +-------------------------+------------+
275                      | announce                | string     | tr_tracker_info
276                      | id                      | number     | tr_tracker_info
277                      | scrape                  | string     | tr_tracker_info
278                      | tier                    | number     | tr_tracker_info
279   -------------------+--------------------------------------+
280   trackerStats       | array of objects, each containing:   |
281                      +-------------------------+------------+
282                      | announce                | string     | tr_tracker_stat
283                      | announceState           | number     | tr_tracker_stat
284                      | downloadCount           | number     | tr_tracker_stat
285                      | hasAnnounced            | boolean    | tr_tracker_stat
286                      | hasScraped              | boolean    | tr_tracker_stat
287                      | host                    | string     | tr_tracker_stat
288                      | id                      | number     | tr_tracker_stat
289                      | isBackup                | boolean    | tr_tracker_stat
290                      | lastAnnouncePeerCount   | number     | tr_tracker_stat
291                      | lastAnnounceResult      | string     | tr_tracker_stat
292                      | lastAnnounceStartTime   | number     | tr_tracker_stat
293                      | lastAnnounceSucceeded   | boolean    | tr_tracker_stat
294                      | lastAnnounceTime        | number     | tr_tracker_stat
295                      | lastAnnounceTimedOut    | boolean    | tr_tracker_stat
296                      | lastScrapeResult        | string     | tr_tracker_stat
297                      | lastScrapeStartTime     | number     | tr_tracker_stat
298                      | lastScrapeSucceeded     | boolean    | tr_tracker_stat
299                      | lastScrapeTime          | number     | tr_tracker_stat
300                      | lastScrapeTimedOut      | boolean    | tr_tracker_stat
301                      | leecherCount            | number     | tr_tracker_stat
302                      | nextAnnounceTime        | number     | tr_tracker_stat
303                      | nextScrapeTime          | number     | tr_tracker_stat
304                      | scrape                  | string     | tr_tracker_stat
305                      | scrapeState             | number     | tr_tracker_stat
306                      | seederCount             | number     | tr_tracker_stat
307                      | tier                    | number     | tr_tracker_stat
308   -------------------+-------------------------+------------+
309   wanted             | an array of tr_info.fileCount        | tr_info
310                      | 'booleans' true if the corresponding |
311                      | file is to be downloaded.            |
312   -------------------+--------------------------------------+
313   webseeds           | an array of strings:                 |
314                      +-------------------------+------------+
315                      | webseed                 | string     | tr_info
316                      +-------------------------+------------+
317
318   Example:
319
320   Say we want to get the name and total size of torrents #7 and #10.
321
322   Request:
323
324      {
325         "arguments": {
326             "fields": [ "id", "name", "totalSize" ],
327             "ids": [ 7, 10 ]
328         },
329         "method": "torrent-get",
330         "tag": 39693
331      }
332
333
334   Response:
335
336      {
337         "arguments": {
338            "torrents": [
339               {
340                   "id": 10,
341                   "name": "Fedora x86_64 DVD",
342                   "totalSize": 34983493932,
343               },
344               {
345                   "id": 7,
346                   "name": "Ubuntu x86_64 DVD",
347                   "totalSize", 9923890123,
348               }
349            ]
350         },
351         "result": "success",
352         "tag": 39693
353      }
354
3553.4.  Adding a Torrent
356
357   Method name: "torrent-add"
358
359   Request arguments:
360
361   key                  | value type & description
362   ---------------------+-------------------------------------------------
363   "cookies"            | string      pointer to a string of one or more cookies.
364   "download-dir"       | string      path to download the torrent to
365   "filename"           | string      filename or URL of the .torrent file
366   "metainfo"           | string      base64-encoded .torrent content
367   "paused"             | boolean     if true, don't start the torrent
368   "peer-limit"         | number      maximum number of peers
369   "bandwidthPriority"  | number      torrent's bandwidth tr_priority_t
370   "files-wanted"       | array       indices of file(s) to download
371   "files-unwanted"     | array       indices of file(s) to not download
372   "priority-high"      | array       indices of high-priority file(s)
373   "priority-low"       | array       indices of low-priority file(s)
374   "priority-normal"    | array       indices of normal-priority file(s)
375
376   Either "filename" OR "metainfo" MUST be included.
377   All other arguments are optional.
378
379   The format of the "cookies" should be NAME=CONTENTS, where NAME is the
380   cookie name and CONTENTS is what the cookie should contain.
381   Set multiple cookies like this: "name1=content1; name2=content2;" etc.
382   <http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTCOOKIE>
383
384   Response arguments: on success, a "torrent-added" object in the
385                       form of one of 3.3's tr_info objects with the
386                       fields for id, name, and hashString.
387
3883.5.  Removing a Torrent
389
390   Method name: "torrent-remove"
391
392   Request arguments:
393
394   string                     | value type & description
395   ---------------------------+-------------------------------------------------
396   "ids"                      | array      torrent list, as described in 3.1
397   "delete-local-data"        | boolean    delete local data. (default: false)
398
399   Response arguments: none
400
401
4023.6.  Moving a Torrent
403
404   Method name: "torrent-set-location"
405
406   Request arguments:
407
408   string                     | value type & description
409   ---------------------------+-------------------------------------------------
410   "ids"                      | array      torrent list, as described in 3.1
411   "location"                 | string     the new torrent location
412   "move"                     | boolean    if true, move from previous location.
413                              |            otherwise, search "location" for files
414                              |            (default: false)
415
416   Response arguments: none
417
418
4194.   Session Requests
420
4214.1.  Session Arguments
422
423   string                           | value type | description
424   ---------------------------------+------------+-------------------------------------
425   "alt-speed-down"                 | number     | max global download speed (KBps)
426   "alt-speed-enabled"              | boolean    | true means use the alt speeds
427   "alt-speed-time-begin"           | number     | when to turn on alt speeds (units: minutes after midnight)
428   "alt-speed-time-enabled"         | boolean    | true means the scheduled on/off times are used
429   "alt-speed-time-end"             | number     | when to turn off alt speeds (units: same)
430   "alt-speed-time-day"             | number     | what day(s) to turn on alt speeds (look at tr_sched_day)
431   "alt-speed-up"                   | number     | max global upload speed (KBps)
432   "blocklist-url"                  | string     | location of the blocklist to use for "blocklist-update"
433   "blocklist-enabled"              | boolean    | true means enabled
434   "blocklist-size"                 | number     | number of rules in the blocklist
435   "cache-size-mb"                  | number     | maximum size of the disk cache (MB)
436   "config-dir"                     | string     | location of transmission's configuration directory
437   "download-dir"                   | string     | default path to download torrents
438   "download-dir-free-space"        | number     | number of free bytes available in download-dir, or -1 if it can't be calculated
439   "download-queue-size"            | number     | max number of torrents to download at once (see download-queue-enabled)
440   "download-queue-enabled"         | boolean    | if true, limit how many torrents can be downloaded at once
441   "dht-enabled"                    | boolean    | true means allow dht in public torrents
442   "encryption"                     | string     | "required", "preferred", "tolerated"
443   "idle-seeding-limit"             | number     | torrents we're seeding will be stopped if they're idle for this long
444   "idle-seeding-limit-enabled"     | boolean    | true if the seeding inactivity limit is honored by default
445   "incomplete-dir"                 | string     | path for incomplete torrents, when enabled
446   "incomplete-dir-enabled"         | boolean    | true means keep torrents in incomplete-dir until done
447   "lpd-enabled"                    | boolean    | true means allow Local Peer Discovery in public torrents
448   "peer-limit-global"              | number     | maximum global number of peers
449   "peer-limit-per-torrent"         | number     | maximum global number of peers
450   "pex-enabled"                    | boolean    | true means allow pex in public torrents
451   "peer-port"                      | number     | port number
452   "peer-port-random-on-start"      | boolean    | true means pick a random peer port on launch
453   "port-forwarding-enabled"        | boolean    | true means enabled
454   "queue-stalled-enabled"          | boolean    | whether or not to consider idle torrents as stalled
455   "queue-stalled-minutes"          | number     | torrents that are idle for N minuets aren't counted toward seed-queue-size or download-queue-size
456   "rename-partial-files"           | boolean    | true means append ".part" to incomplete files
457   "rpc-version"                    | number     | the current RPC API version
458   "rpc-version-minimum"            | number     | the minimum RPC API version supported
459   "script-torrent-done-filename"   | string     | filename of the script to run
460   "script-torrent-done-enabled"    | boolean    | whether or not to call the "done" script
461   "seedRatioLimit"                 | double     | the default seed ratio for torrents to use
462   "seedRatioLimited"               | boolean    | true if seedRatioLimit is honored by default
463   "seed-queue-size"                | number     | max number of torrents to uploaded at once (see seed-queue-enabled)
464   "seed-queue-enabled"             | boolean    | if true, limit how many torrents can be uploaded at once
465   "speed-limit-down"               | number     | max global download speed (KBps)
466   "speed-limit-down-enabled"       | boolean    | true means enabled
467   "speed-limit-up"                 | number     | max global upload speed (KBps)
468   "speed-limit-up-enabled"         | boolean    | true means enabled
469   "start-added-torrents"           | boolean    | true means added torrents will be started right away
470   "trash-original-torrent-files"   | boolean    | true means the .torrent file of added torrents will be deleted
471   "units"                          | object     | see below
472   "utp-enabled"                    | boolean    | true means allow utp
473   "version"                        | string     | long version string "$version ($revision)"
474   ---------------------------------+------------+-----------------------------+
475   units                            | object containing:                       |
476                                    +--------------+--------+------------------+
477                                    | speed-units  | array  | 4 strings: KB/s, MB/s, GB/s, TB/s
478                                    | speed-bytes  | number | number of bytes in a KB (1000 for kB; 1024 for KiB)
479                                    | size-units   | array  | 4 strings: KB/s, MB/s, GB/s, TB/s
480                                    | size-bytes   | number | number of bytes in a KB (1000 for kB; 1024 for KiB)
481                                    | memory-units | array  | 4 strings: KB/s, MB/s, GB/s, TB/s
482                                    | memory-bytes | number | number of bytes in a KB (1000 for kB; 1024 for KiB)
483                                    +--------------+--------+------------------+
484
485   "rpc-version" indicates the RPC interface version supported by the RPC server.
486   It is incremented when a new version of Transmission changes the RPC interface.
487
488   "rpc-version-minimum" indicates the oldest API supported by the RPC server.
489   It is changes when a new version of Transmission changes the RPC interface
490   in a way that is not backwards compatible.  There are no plans for this
491   to be common behavior.
492
4934.1.1.  Mutators
494
495   Method name: "session-set"
496   Request arguments: one or more of 4.1's arguments, except: "blocklist-size",
497                      "config-dir", "download-dir-free-space", "rpc-version",
498                      "rpc-version-minimum", and "version"
499   Response arguments: none
500
5014.1.2.  Accessors
502
503   Method name: "session-get"
504   Request arguments: none
505   Response arguments: all of 4.1's arguments
506
5074.2.  Session Statistics
508
509   Method name: "session-stats"
510
511   Request arguments: none
512
513   Response arguments:
514
515   string                     | value type
516   ---------------------------+-------------------------------------------------
517   "activeTorrentCount"       | number
518   "downloadSpeed"            | number
519   "pausedTorrentCount"       | number
520   "torrentCount"             | number
521   "uploadSpeed"              | number
522   ---------------------------+-------------------------------+
523   "cumulative-stats"         | object, containing:           |
524                              +------------------+------------+
525                              | uploadedBytes    | number     | tr_session_stats
526                              | downloadedBytes  | number     | tr_session_stats
527                              | filesAdded       | number     | tr_session_stats
528                              | sessionCount     | number     | tr_session_stats
529                              | secondsActive    | number     | tr_session_stats
530   ---------------------------+-------------------------------+
531   "current-stats"            | object, containing:           |
532                              +------------------+------------+
533                              | uploadedBytes    | number     | tr_session_stats
534                              | downloadedBytes  | number     | tr_session_stats
535                              | filesAdded       | number     | tr_session_stats
536                              | sessionCount     | number     | tr_session_stats
537                              | secondsActive    | number     | tr_session_stats
538
5394.3.  Blocklist
540
541   Method name: "blocklist-update"
542   Request arguments: none
543   Response arguments: a number "blocklist-size"
544
5454.4.  Port Checking
546
547   This method tests to see if your incoming peer port is accessible
548   from the outside world.
549
550   Method name: "port-test"
551   Request arguments: none
552   Response arguments: a bool, "port-is-open"
553
5544.5.  Session shutdown
555
556   This method tells the transmission session to shut down.
557
558   Method name: "session-close"
559   Request arguments: none
560   Response arguments: none
561
5624.6.  Queue Movement Requests
563
564   Method name          | libtransmission function
565   ---------------------+-------------------------------------------------
566   "queue-move-top"     | tr_torrentQueueMoveTop()
567   "queue-move-up"      | tr_torrentQueueMoveUp()
568   "queue-move-down"    | tr_torrentQueueMoveDown()
569   "queue-move-bottom"  | tr_torrentQueueMoveBottom()
570
571   Request arguments:
572
573   string      | value type & description
574   ------------+----------------------------------------------------------
575   "ids"       | array   torrent list, as described in 3.1.
576
577   Response arguments: none
578
5795.0.  Protocol Versions
580
581  The following changes have been made to the RPC interface:
582
583   RPC   | Release | Backwards |                |
584   Vers. | Version | Compat?   | Method         | Description
585   ------+---------+-----------+----------------+-------------------------------
586   1     | 1.30    | n/a       | n/a            | Initial version
587   ------+---------+-----------+----------------+-------------------------------
588   2     | 1.34    | yes       | torrent-get    | new arg "peers"
589   ------+---------+-----------+----------------+-------------------------------
590   3     | 1.41    | yes       | torrent-get    | added "port" to "peers"
591         |         | yes       | torrent-get    | new arg "downloaders"
592         |         | yes       | session-get    | new arg "version"
593         |         | yes       | torrent-remove | new method
594   ------+---------+-----------+----------------+-------------------------------
595   4     | 1.50    | yes       | session-get    | new arg "rpc-version"
596         |         | yes       | session-get    | new arg "rpc-version-minimum"
597         |         | yes       | session-stats  | added "cumulative-stats"
598         |         | yes       | session-stats  | added "current-stats"
599         |         | yes       | torrent-get    | new arg "downloadDir"
600   ------+---------+-----------+----------------+-------------------------------
601   5     | 1.60    | yes       |                | new method "torrent-reannounce"
602         |         | yes       |                | new method "blocklist-update"
603         |         | yes       |                | new method "port-test"
604         |         |           |                |
605         |         | yes       | session-get    | new arg "alt-speed-begin"
606         |         | yes       | session-get    | new arg "alt-speed-down"
607         |         | yes       | session-get    | new arg "alt-speed-enabled"
608         |         | yes       | session-get    | new arg "alt-speed-end"
609         |         | yes       | session-get    | new arg "alt-speed-time-enabled"
610         |         | yes       | session-get    | new arg "alt-speed-up"
611         |         | yes       | session-get    | new arg "blocklist-enabled"
612         |         | yes       | session-get    | new arg "blocklist-size"
613         |         | yes       | session-get    | new arg "peer-limit-per-torrent"
614         |         | yes       | session-get    | new arg "seedRatioLimit"
615         |         | yes       | session-get    | new arg "seedRatioLimited"
616         |         |        NO | session-get    | renamed "pex-allowed" to "pex-enabled"
617         |         |        NO | session-get    | renamed "port" to "peer-port"
618         |         |        NO | session-get    | renamed "peer-limit" to "peer-limit-global"
619         |         |           |                |
620         |         | yes       | torrent-add    | new arg "files-unwanted"
621         |         | yes       | torrent-add    | new arg "files-wanted"
622         |         | yes       | torrent-add    | new arg "priority-high"
623         |         | yes       | torrent-add    | new arg "priority-low"
624         |         | yes       | torrent-add    | new arg "priority-normal"
625         |         |           |                |
626         |         | yes       | torrent-set    | new arg "bandwidthPriority"
627         |         | yes       | torrent-set    | new arg "honorsSessionLimits"
628         |         | yes       | torrent-set    | new arg "seedRatioLimit"
629         |         | yes       | torrent-set    | new arg "seedRatioLimited"
630         |         |        NO | torrent-set    | renamed "speed-limit-down" to "downloadLimit"
631         |         |        NO | torrent-set    | renamed "speed-limit-down-enabled" to "downloadLimited"
632         |         |        NO | torrent-set    | renamed "speed-limit-up" to "uploadLimit"
633         |         |        NO | torrent-set    | renamed "speed-limit-up-enabled" to "uploadLimited"
634         |         |           |                |
635         |         | yes       | torrent-get    | new arg "bandwidthPriority"
636         |         | yes       | torrent-get    | new arg "fileStats"
637         |         | yes       | torrent-get    | new arg "honorsSessionLimits"
638         |         | yes       | torrent-get    | new arg "percentDone"
639         |         | yes       | torrent-get    | new arg "pieces"
640         |         | yes       | torrent-get    | new arg "seedRatioLimit"
641         |         | yes       | torrent-get    | new arg "seedRatioMode"
642         |         | yes       | torrent-get    | new arg "torrentFile"
643         |         | yes       | torrent-get    | new ids option "recently-active"
644         |         |        NO | torrent-get    | removed arg "downloadLimitMode"
645         |         |        NO | torrent-get    | removed arg "uploadLimitMode"
646   ------+---------+-----------+----------------+-------------------------------
647   6     | 1.70    | yes       |                | new "method torrent-set-location"
648   ------+---------+-----------+----------------+-------------------------------
649   7     | 1.80    |        NO | torrent-get    | removed arg "announceResponse"
650         |         |        NO | torrent-get    | removed arg "announceURL"
651         |         |        NO | torrent-get    | removed arg "downloaders"
652         |         |        NO | torrent-get    | removed arg "lastAnnounceTime"
653         |         |        NO | torrent-get    | removed arg "lastScrapeTime"
654         |         |        NO | torrent-get    | removed arg "leechers"
655         |         |        NO | torrent-get    | removed arg "nextAnnounceTime"
656         |         |        NO | torrent-get    | removed arg "nextScrapeTime"
657         |         |        NO | torrent-get    | removed arg "scrapeResponse"
658         |         |        NO | torrent-get    | removed arg "scrapeURL"
659         |         |        NO | torrent-get    | removed arg "seeders"
660         |         |        NO | torrent-get    | removed arg "timesCompleted"
661         |         |        NO | torrent-get    | removed arg "swarmSpeed"
662         |         | yes       | torrent-get    | new arg "magnetLink"
663         |         | yes       | torrent-get    | new arg "metadataPercentComplete"
664         |         | yes       | torrent-get    | new arg "trackerStats"
665         |         | yes       | session-set    | new arg "incomplete-dir"
666         |         | yes       | session-set    | new arg "incomplete-dir-enabled"
667   ------+---------+-----------+----------------+-------------------------------
668   8     | 1.90    | yes       | session-set    | new arg "rename-partial-files"
669         |         | yes       | session-get    | new arg "rename-partial-files"
670         |         | yes       | session-get    | new arg "config-dir"
671         |         | yes       | torrent-add    | new arg "bandwidthPriority"
672         |         | yes       | torrent-get    | new trackerStats arg "lastAnnounceTimedOut"
673   ------+---------+-----------+----------------+-------------------------------
674   8     | 1.92    | yes       | torrent-get    | new trackerStats arg "lastScrapeTimedOut"
675   ------+---------+-----------+----------------+-------------------------------
676   9     | 2.00    | yes       | session-set    | new arg "start-added-torrents"
677         |         | yes       | session-set    | new arg "trash-original-torrent-files"
678         |         | yes       | session-get    | new arg "start-added-torrents"
679         |         | yes       | session-get    | new arg "trash-original-torrent-files"
680         |         | yes       | torrent-get    | new arg "isFinished"
681   ------+---------+-----------+----------------+-------------------------------
682   10    | 2.10    | yes       | session-get    | new arg "cache-size-mb"
683         |         | yes       | torrent-set    | new arg "trackerAdd"
684         |         | yes       | torrent-set    | new arg "trackerRemove"
685         |         | yes       | torrent-set    | new arg "trackerReplace"
686         |         | yes       | session-set    | new arg "idle-seeding-limit"
687         |         | yes       | session-set    | new arg "idle-seeding-limit-enabled"
688         |         | yes       | session-get    | new arg "units"
689         |         | yes       | torrent-set    | new arg "seedIdleLimit"
690         |         | yes       | torrent-set    | new arg "seedIdleMode"
691   ------+---------+-----------+----------------+-------------------------------
692   11    | 2.12    | yes       | session-get    | new arg "blocklist-url"
693         |         | yes       | session-set    | new arg "blocklist-url"
694   ------+---------+-----------+----------------+-------------------------------
695   12    | 2.20    | yes       | session-get    | new arg "download-dir-free-space"
696         |         | yes       | session-close  | new method
697   ------+---------+-----------+----------------+-------------------------------
698   13    | 2.30    | yes       | session-get    | new arg "isUTP" to the "peers" list
699         |         | yes       | torrent-add    | new arg "cookies"
700         |         |        NO | torrent-get    | removed arg "peersKnown"
701   ------+---------+-----------+----------------+-------------------------------
702   14    | 2.40    |        NO | torrent-get    | values of "status" field changed
703         |         | yes       | torrent-get    | new arg "queuePosition"
704         |         | yes       | torrent-get    | new arg "isStalled"
705         |         | yes       | torrent-get    | new arg "fromLpd" in peersFrom
706         |         | yes       | torrent-set    | new arg "queuePosition"
707         |         | yes       | session-set    | new arg "download-queue-size"
708         |         | yes       | session-set    | new arg "download-queue-enabled"
709         |         | yes       | session-set    | new arg "seed-queue-size"
710         |         | yes       | session-set    | new arg "seed-queue-enabled"
711         |         | yes       | session-set    | new arg "queue-stalled-enabled"
712         |         | yes       | session-set    | new arg "queue-stalled-minutes"
713         |         | yes       |                | new method "queue-move-top"
714         |         | yes       |                | new method "queue-move-up"
715         |         | yes       |                | new method "queue-move-down"
716         |         | yes       |                | new method "queue-move-bottom"
717         |         | yes       |                | new method "torrent-start-now"
Note: See TracBrowser for help on using the repository browser.