List of commands

Table of Contents

This file specifies all the commands available between a BTG client and the BTG server.

Each command has a name, a method name (used in XMLRPC transport), a command ID, a direction, and a set of parameters.

Parameters can be of a specific type. This specification first lists the internal type used, and then the XMLRPC type used.

In the case of Lists, there is first an int (Integer) specifying the size of the list, then the elements are passed with their specific type.

Implementation MUST be capable to handle commands with additional fields at the end. Implementation MUST ignore fields it doesn't know about.

(g) Init connection

Method name Command ID Direction
general.initconnection 1 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. username (string (String), required)
  3. password hash (string (String), required)

(g) Setup command

Method name Command ID Direction
general.setup 10 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. build id (string (String), required)
  3. flag: seed limit (integer (Integer), required)
  4. flag: seed timeout (long (Integer), required)
  5. flag: use DHT (bool (Boolean), required)
  6. flag: use Encryption (bool (Boolean), required)

(g) Setup command response

Method name Command ID Direction
general.setuprsp 11 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. Session (long (Integer), required)

(g) Kill daemon

Method name Command ID Direction
general.kill 12 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)

(g) Daemon uptime request

Method name Command ID Direction
general.uptime 16 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)

(g) Daemon uptime response

Method name Command ID Direction
general.uptimersp 17 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. uptime (unsigned long (Integer), required)

(g) List request

Method name Command ID Direction
general.list 18 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)

(g) List request response

Method name Command ID Direction
general.listrsp 19 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. list of context ids (int list (List of Integers), required)
  3. list of file names (string list (List of Strings), required)

(g) Create context

Method name Command ID Direction
context.createwithdata 40 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. torrent filename (string (String), required)
  3. torrent file data(number of bytes) (byte (Integer), required)
  4. torrent file data(data) (multiple bytes (base64 string for XMLRPC), required)
  5. flag: start torrent (bool (Boolean), required)

(g) Last context

Method name Command ID Direction
context.last 41 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)

(g) Last context response

Method name Command ID Direction
context.lastrsp 42 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. command ID (integer (Integer), required)

(c) Start context

Method name Command ID Direction
context.start 43 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)

(c) Stop context

Method name Command ID Direction
context.stop 44 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)

(c) Abort context

Method name Command ID Direction
context.abort 45 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)
  4. flag: erase data (bool (Boolean), required)

(c) Status

Method name Command ID Direction
context.status 46 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)

(c) Status response

Method name Command ID Direction
context.statusrsp 47 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)
  4. status (integer (Integer), required)
  5. status (string (String), required)
  6. status (integer (Integer), required)
  7. status (unsigned long (Integer), required)
  8. status (unsigned long (Integer), required)
  9. status (unsigned long (Integer), required)
  10. status (unsigned long (Integer), required)
  11. status (unsigned long (Integer), required)
  12. status (integer (Integer), required)
  13. status (unsigned long (Integer), required)
  14. status (integer (Integer), required)
  15. status (integer (Integer), required)
  16. status (integer (Integer), required)
  17. status (unsigned long (Integer), required)
  18. status (integer (Integer), required)
  19. status (integer (Integer), required)
  20. status (integer (Integer), required)
  21. status (integer (Integer), required)
  22. status (bool (Boolean), required)
  23. status (unsigned long (Integer), required)
  24. status (string (String), required)
  25. status (string (String), required)

(c) Status all response

Method name Command ID Direction
context.statusallrsp 48 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)
  4. size of the list of status (integer (Integer), required)
  5. list of status (integer (Integer), required)
  6. list of status (string (String), required)
  7. list of status (integer (Integer), required)
  8. list of status (unsigned long (Integer), required)
  9. list of status (unsigned long (Integer), required)
  10. list of status (unsigned long (Integer), required)
  11. list of status (unsigned long (Integer), required)
  12. list of status (unsigned long (Integer), required)
  13. list of status (integer (Integer), required)
  14. list of status (unsigned long (Integer), required)
  15. list of status (integer (Integer), required)
  16. list of status (integer (Integer), required)
  17. list of status (integer (Integer), required)
  18. list of status (unsigned long (Integer), required)
  19. list of status (integer (Integer), required)
  20. list of status (integer (Integer), required)
  21. list of status (integer (Integer), required)
  22. list of status (integer (Integer), required)
  23. list of status (bool (Boolean), required)
  24. list of status (unsigned long (Integer), required)
  25. list of status (string (String), required)
  26. list of status (string (String), required)

(c) File info

Method name Command ID Direction
context.fileinfo 51 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)

(c) File info response

Method name Command ID Direction
context.fileinforsp 52 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)
  4. size of the contained list of file information objects (integer (Integer), required)
  5. list of file information objects (string (String), required)
  6. list of file information objects (integer (Integer), required)
  7. list of file information objects (integer (Integer), required)
  8. list of file information objects (unsigned long (Integer), required)
  9. list of file information objects (integer (Integer), required)
  10. list of file information objects (integer (Integer), required)
  11. list of file information objects(number of bytes) (byte (Integer), required)
  12. list of file information objects(data) (multiple bytes (base64 string for XMLRPC), required)

(c) Clean

Method name Command ID Direction
context.clean 54 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)

(c) Clean response

Method name Command ID Direction
context.cleanrsp 55 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. list of context IDs (int list (List of Integers), required)
  3. filename (string list (List of Strings), required)

(c) Limit

Method name Command ID Direction
context.limit 56 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)
  4. upload speed in bytes/sec (integer (Integer), required)
  5. download speed in bytes/sec (integer (Integer), required)
  6. percents to seed before torrent is stopped (integer (Integer), required)
  7. seconds to seed before torrent is stopped (long (Integer), required)

(c) Limit status

Method name Command ID Direction
context.limitstatus 57 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)

(c) Limit status response

Method name Command ID Direction
context.limitstatusrsp 58 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)
  4. upload speed in bytes/sec (integer (Integer), required)
  5. download speed in bytes/sec (integer (Integer), required)
  6. percents to seed before torrent is stopped (integer (Integer), required)
  7. seconds to seed before torrent is stopped (long (Integer), required)

(c) List peers

Method name Command ID Direction
context.peers 59 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)
  4. extended response requested (bool (Boolean), required)
  5. offset of the extended peers in the complete peer list (unsigned integer (Integer), optional)
  6. count of extended peers (unsigned integer (Integer), optional)

(c) List peers response

Method name Command ID Direction
context.peersrsp 60 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. context ID (integer (Integer), required)
  3. flag: for all contexts (bool (Boolean), required)
  4. size of the list of peers (unsigned integer (Integer), required)
  5. list of peers (byte (Integer), required)
  6. list of peers (byte (Integer), required)
  7. list of peers (byte (Integer), required)
  8. list of peers (byte (Integer), required)
  9. list of peers (bool (Boolean), required)
  10. list of peers (string (String), required)
  11. extended peer list flag (bool (Boolean), required)
  12. offset in the full peer list (unsigned integer (Integer), optional)
  13. size of the extended list of peers (unsigned integer (Integer), optional)
  14. extended list of peers (unsigned integer (Integer), optional)
  15. extended list of peers (unsigned integer (Integer), optional)
  16. extended list of peers (unsigned integer (Integer), optional)
  17. extended list of peers (unsigned integer (Integer), optional)
  18. extended list of peers (unsigned integer (Integer), optional)
  19. extended list of peers (unsigned integer (Integer), optional)
  20. extended list of peers (unsigned long (Integer), optional)
  21. extended list of peers (unsigned long (Integer), optional)
  22. extended list of peers (integer (Integer), optional)
  23. extended list of peers(number of bytes) (byte (Integer), optional)
  24. extended list of peers(data) (multiple bytes (base64 string for XMLRPC), optional)
  25. extended list of peers (unsigned integer (Integer), optional)
  26. extended list of peers (unsigned integer (Integer), optional)
  27. extended list of peers(number of bytes) (byte (Integer), optional)
  28. extended list of peers(data) (multiple bytes (base64 string for XMLRPC), optional)
  29. extended list of peers (long (Integer), optional)
  30. extended list of peers (unsigned integer (Integer), optional)
  31. extended list of peers (unsigned integer (Integer), optional)
  32. extended list of peers (unsigned integer (Integer), optional)
  33. extended list of peers (unsigned integer (Integer), optional)
  34. extended list of peers (unsigned integer (Integer), optional)
  35. extended list of peers (unsigned integer (Integer), optional)
  36. extended list of peers(number of bytes) (byte (Integer), optional)
  37. extended list of peers(data) (multiple bytes (base64 string for XMLRPC), optional)
  38. extended list of peers (unsigned integer (Integer), optional)
  39. extended list of peers (unsigned integer (Integer), optional)
  40. extended list of peers (unsigned integer (Integer), optional)
  41. extended list of peers (unsigned integer (Integer), optional)
  42. extended list of peers (unsigned integer (Integer), optional)
  43. extended list of peers (unsigned integer (Integer), optional)
  44. extended list of peers (unsigned integer (Integer), optional)

(g) Error

Method name Command ID Direction
general.error 100 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. flag, indicates if a command is present (bool (Boolean), required)
  3. command ID (integer (Integer), optional)
  4. flag, indicates if a message is present (bool (Boolean), required)
  5. error message (string (String), optional)

(g) Ack

Method name   Command ID Direction
general.ack 101 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. ack command (integer (Integer), required)

(s) Attach

Method name Command ID Direction
session.attach 120 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)
  2. build id (string (String), required)
  3. session ID (long (Integer), required)

(s) Detach

Method name Command ID Direction
session.detach 121 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)

(s) Quit

Method name Command ID Direction
session.quit 125 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)

(s) Error

Method name Command ID Direction
session.error 122 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. flag: indicates that a command ID is present. (bool (Boolean), required)
  3. command ID (integer (Integer), optional)

(s) List

Method name Command ID Direction
session.list 126 To Server (method call)

Parameters:

  1. command ID (byte (Integer), required)

(s) List response

Method name Command ID Direction
session.listrsp 127 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. list of sessions. (long list (List of Integers), required)
  3. list of session names. (string list (List of Strings), required)

(s) RO mode

Method name Command ID Direction
session.romode 131 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)

(s) RW mode

Method name Command ID Direction
session.rwmode 132 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)

(c) Create context from URL

Method name Command ID Direction
context.createfromurl 67 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. torrent filename (string (String), required)
  3. torrent url (string (String), required)
  4. flag: start torrent (bool (Boolean), required)

(c) Create context from URL response

Method name Command ID Direction
context.createfromurlrsp 68 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. url id (unsigned integer (Integer), required)

(g) Status of operation

Method name Command ID Direction
general.opstatus 81 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. id (unsigned integer (Integer), required)
  3. type (unsigned integer (Integer), required)

(g) Status of operation response

Method name Command ID Direction
general.opstatusrsp 82 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. id (unsigned integer (Integer), required)
  3. type (unsigned integer (Integer), required)
  4. status (unsigned integer (Integer), required)
  5. data set indicator (bool (Boolean), required)
  6. data (string (String), optional)

(g) Abort operation

Method name Command ID Direction
general.opabort 80 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. url id (unsigned integer (Integer), required)
  3. type (unsigned integer (Integer), required)

(c) Create context from file

Method name Command ID Direction
context.createfromfile 69 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. torrent filename (string (String), required)
  3. number of parts (unsigned integer (Integer), required)
  4. flag: start torrent (bool (Boolean), required)

(c) Create context from file response

Method name Command ID Direction
context.createfromfilersp 70 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. file id (unsigned integer (Integer), required)

(c) Create context from file, part of file

Method name Command ID Direction
context.createfromfilepart 71 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. id (unsigned integer (Integer), required)
  3. part (unsigned integer (Integer), required)
  4. data(number of bytes) (byte (Integer), required)
  5. data(data) (multiple bytes (base64 string for XMLRPC), required)

(s) Version

Method name Command ID Direction
session.version 133 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)

(s) Version response

Method name Command ID Direction
session.versionrsp 134 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. mayor version (byte (Integer), required)
  3. minor version (byte (Integer), required)
  4. revision (byte (Integer), required)
  5. option byte (byte (Integer), required)
  6. option byte (byte (Integer), required)
  7. option byte (byte (Integer), required)
  8. option byte (byte (Integer), required)

(s) Daemon setting

Method name Command ID Direction
session.setting 135 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. Setting ID (byte (Integer), required)

(s) Daemon setting response

Method name Command ID Direction
session.settingrsp 136 From Server (method response)

Parameters:

  1. command ID (byte (Integer), required)
  2. Setting ID (byte (Integer), required)
  3. Setting value (string (String), required)