diff --git a/qbittorrent-web-api-gen/api-4_1.md b/qbittorrent-web-api-gen/api-4_1.md index e20ac89..0cb127b 100644 --- a/qbittorrent-web-api-gen/api-4_1.md +++ b/qbittorrent-web-api-gen/api-4_1.md @@ -367,156 +367,154 @@ HTTP Status Code | Scenario The response is a JSON object with several fields (key-value) pairs representing the application's settings. The contents may vary depending on which settings are present in qBittorrent.ini. -Possible fields: - Property | Type | Description -----------------------------------------|---------|------------ -`locale` | string | Currently selected language (e.g. en_GB for English) -`create_subfolder_enabled` | bool | True if a subfolder should be created when adding a torrent -`start_paused_enabled` | bool | True if torrents should be added in a Paused state -`auto_delete_mode` | integer | TODO -`preallocate_all` | bool | True if disk space should be pre-allocated for all files -`incomplete_files_ext` | bool | True if ".!qB" should be appended to incomplete files -`auto_tmm_enabled` | bool | True if Automatic Torrent Management is enabled by default -`torrent_changed_tmm_enabled` | bool | True if torrent should be relocated when its Category changes -`save_path_changed_tmm_enabled` | bool | True if torrent should be relocated when the default save path changes -`category_changed_tmm_enabled` | bool | True if torrent should be relocated when its Category's save path changes -`save_path` | string | Default save path for torrents, separated by slashes -`temp_path_enabled` | bool | True if folder for incomplete torrents is enabled -`temp_path` | string | Path for incomplete torrents, separated by slashes -`scan_dirs` | object | Property: directory to watch for torrent files, value: where torrents loaded from this directory should be downloaded to (see list of possible values below). Slashes are used as path separators; multiple key/value pairs can be specified -`export_dir` | string | Path to directory to copy .torrent files to. Slashes are used as path separators -`export_dir_fin` | string | Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators -`mail_notification_enabled` | bool | True if e-mail notification should be enabled -`mail_notification_sender` | string | e-mail where notifications should originate from -`mail_notification_email` | string | e-mail to send notifications to -`mail_notification_smtp` | string | smtp server for e-mail notifications -`mail_notification_ssl_enabled` | bool | True if smtp server requires SSL connection -`mail_notification_auth_enabled` | bool | True if smtp server requires authentication -`mail_notification_username` | string | Username for smtp authentication -`mail_notification_password` | string | Password for smtp authentication -`autorun_enabled` | bool | True if external program should be run after torrent has finished downloading -`autorun_program` | string | Program path/name/arguments to run if `autorun_enabled` is enabled; path is separated by slashes; you can use `%f` and `%n` arguments, which will be expanded by qBittorent as path_to_torrent_file and torrent_name (from the GUI; not the .torrent file name) respectively -`queueing_enabled` | bool | True if torrent queuing is enabled -`max_active_downloads` | integer | Maximum number of active simultaneous downloads -`max_active_torrents` | integer | Maximum number of active simultaneous downloads and uploads -`max_active_uploads` | integer | Maximum number of active simultaneous uploads -`dont_count_slow_torrents` | bool | If true torrents w/o any activity (stalled ones) will not be counted towards `max_active_*` limits; see [dont_count_slow_torrents](https://www.libtorrent.org/reference-Settings.html#dont_count_slow_torrents) for more information -`slow_torrent_dl_rate_threshold` | integer | Download rate in KiB/s for a torrent to be considered "slow" -`slow_torrent_ul_rate_threshold` | integer | Upload rate in KiB/s for a torrent to be considered "slow" -`slow_torrent_inactive_timer` | integer | Seconds a torrent should be inactive before considered "slow" -`max_ratio_enabled` | bool | True if share ratio limit is enabled -`max_ratio` | float | Get the global share ratio limit -`max_ratio_act` | integer | Action performed when a torrent reaches the maximum share ratio. See list of possible values here below. -`listen_port` | integer | Port for incoming connections -`upnp` | bool | True if UPnP/NAT-PMP is enabled -`random_port` | bool | True if the port is randomly selected -`dl_limit` | integer | Global download speed limit in KiB/s; `-1` means no limit is applied -`up_limit` | integer | Global upload speed limit in KiB/s; `-1` means no limit is applied -`max_connec` | integer | Maximum global number of simultaneous connections -`max_connec_per_torrent` | integer | Maximum number of simultaneous connections per torrent -`max_uploads` | integer | Maximum number of upload slots -`max_uploads_per_torrent` | integer | Maximum number of upload slots per torrent -`stop_tracker_timeout` | integer | Timeout in seconds for a `stopped` announce request to trackers -`enable_piece_extent_affinity` | bool | True if the advanced libtorrent option `piece_extent_affinity` is enabled -`bittorrent_protocol` | integer | Bittorrent Protocol to use (see list of possible values below) -`limit_utp_rate` | bool | True if `[du]l_limit` should be applied to uTP connections; this option is only available in qBittorent built against libtorrent version 0.16.X and higher -`limit_tcp_overhead` | bool | True if `[du]l_limit` should be applied to estimated TCP overhead (service data: e.g. packet headers) -`limit_lan_peers` | bool | True if `[du]l_limit` should be applied to peers on the LAN -`alt_dl_limit` | integer | Alternative global download speed limit in KiB/s -`alt_up_limit` | integer | Alternative global upload speed limit in KiB/s -`scheduler_enabled` | bool | True if alternative limits should be applied according to schedule -`schedule_from_hour` | integer | Scheduler starting hour -`schedule_from_min` | integer | Scheduler starting minute -`schedule_to_hour` | integer | Scheduler ending hour -`schedule_to_min` | integer | Scheduler ending minute -`scheduler_days` | integer | Scheduler days. See possible values here below -`dht` | bool | True if DHT is enabled -`pex` | bool | True if PeX is enabled -`lsd` | bool | True if LSD is enabled -`encryption` | integer | See list of possible values here below -`anonymous_mode` | bool | If true anonymous mode will be enabled; read more [here](Anonymous-Mode); this option is only available in qBittorent built against libtorrent version 0.16.X and higher -`proxy_type` | integer | See list of possible values here below -`proxy_ip` | string | Proxy IP address or domain name -`proxy_port` | integer | Proxy port -`proxy_peer_connections` | bool | True if peer and web seed connections should be proxified; this option will have any effect only in qBittorent built against libtorrent version 0.16.X and higher -`proxy_auth_enabled` | bool | True proxy requires authentication; doesn't apply to SOCKS4 proxies -`proxy_username` | string | Username for proxy authentication -`proxy_password` | string | Password for proxy authentication -`proxy_torrents_only` | bool | True if proxy is only used for torrents -`ip_filter_enabled` | bool | True if external IP filter should be enabled -`ip_filter_path` | string | Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes -`ip_filter_trackers` | bool | True if IP filters are applied to trackers -`web_ui_domain_list` | string | Comma-separated list of domains to accept when performing Host header validation -`web_ui_address` | string | IP address to use for the WebUI -`web_ui_port` | integer | WebUI port -`web_ui_upnp` | bool | True if UPnP is used for the WebUI port -`web_ui_username` | string | WebUI username -`web_ui_password` | string | For API ≥ v2.3.0: Plaintext WebUI password, not readable, write-only. For API < v2.3.0: MD5 hash of WebUI password, hash is generated from the following string: `username:Web UI Access:plain_text_web_ui_password` -`web_ui_csrf_protection_enabled` | bool | True if WebUI CSRF protection is enabled -`web_ui_clickjacking_protection_enabled` | bool | True if WebUI clickjacking protection is enabled -`web_ui_secure_cookie_enabled` | bool | True if WebUI cookie `Secure` flag is enabled -`web_ui_max_auth_fail_count` | integer | Maximum number of authentication failures before WebUI access ban -`web_ui_ban_duration` | integer | WebUI access ban duration in seconds -`web_ui_session_timeout` | integer | Seconds until WebUI is automatically signed off -`web_ui_host_header_validation_enabled` | bool | True if WebUI host header validation is enabled -`bypass_local_auth` | bool | True if authentication challenge for loopback address (127.0.0.1) should be disabled -`bypass_auth_subnet_whitelist_enabled` | bool | True if webui authentication should be bypassed for clients whose ip resides within (at least) one of the subnets on the whitelist -`bypass_auth_subnet_whitelist` | string | (White)list of ipv4/ipv6 subnets for which webui authentication should be bypassed; list entries are separated by commas -`alternative_webui_enabled` | bool | True if an alternative WebUI should be used -`alternative_webui_path` | string | File path to the alternative WebUI -`use_https` | bool | True if WebUI HTTPS access is enabled -`ssl_key` | string | For API < v2.0.1: SSL keyfile contents (this is a not a path) -`ssl_cert` | string | For API < v2.0.1: SSL certificate contents (this is a not a path) -`web_ui_https_key_path` | string | For API ≥ v2.0.1: Path to SSL keyfile -`web_ui_https_cert_path` | string | For API ≥ v2.0.1: Path to SSL certificate -`dyndns_enabled` | bool | True if server DNS should be updated dynamically -`dyndns_service` | integer | See list of possible values here below -`dyndns_username` | string | Username for DDNS service -`dyndns_password` | string | Password for DDNS service -`dyndns_domain` | string | Your DDNS domain name -`rss_refresh_interval` | integer | RSS refresh interval -`rss_max_articles_per_feed` | integer | Max stored articles per RSS feed -`rss_processing_enabled` | bool | Enable processing of RSS feeds -`rss_auto_downloading_enabled` | bool | Enable auto-downloading of torrents from the RSS feeds -`rss_download_repack_proper_episodes` | bool | For API ≥ v2.5.1: Enable downloading of repack/proper Episodes -`rss_smart_episode_filters` | string | For API ≥ v2.5.1: List of RSS Smart Episode Filters -`add_trackers_enabled` | bool | Enable automatic adding of trackers to new torrents -`add_trackers` | string | List of trackers to add to new torrent -`web_ui_use_custom_http_headers_enabled` | bool | For API ≥ v2.5.1: Enable custom http headers -`web_ui_custom_http_headers` | string | For API ≥ v2.5.1: List of custom http headers -`max_seeding_time_enabled` | bool | True enables max seeding time -`max_seeding_time` | integer | Number of minutes to seed a torrent -`announce_ip` | string | TODO -`announce_to_all_tiers` | bool | True always announce to all tiers -`announce_to_all_trackers` | bool | True always announce to all trackers in a tier -`async_io_threads` | integer | Number of asynchronous I/O threads -`banned_IPs` | string | List of banned IPs -`checking_memory_use` | integer | Outstanding memory when checking torrents in MiB -`current_interface_address` | string | IP Address to bind to. Empty String means All addresses -`current_network_interface` | string | Network Interface used -`disk_cache` | integer | Disk cache used in MiB -`disk_cache_ttl` | integer | Disk cache expiry interval in seconds -`embedded_tracker_port` | integer | Port used for embedded tracker -`enable_coalesce_read_write` | bool | True enables coalesce reads & writes -`enable_embedded_tracker` | bool | True enables embedded tracker -`enable_multi_connections_from_same_ip` | bool | True allows multiple connections from the same IP address -`enable_os_cache` | bool | True enables os cache -`enable_upload_suggestions` | bool | True enables sending of upload piece suggestions -`file_pool_size` | integer | File pool size -`outgoing_ports_max` | integer | Maximal outgoing port (0: Disabled) -`outgoing_ports_min` | integer | Minimal outgoing port (0: Disabled) -`recheck_completed_torrents` | bool | True rechecks torrents on completion -`resolve_peer_countries` | bool | True resolves peer countries -`save_resume_data_interval` | integer | Save resume data interval in min -`send_buffer_low_watermark` | integer | Send buffer low watermark in KiB -`send_buffer_watermark` | integer | Send buffer watermark in KiB -`send_buffer_watermark_factor` | integer | Send buffer watermark factor in percent -`socket_backlog_size` | integer | Socket backlog size -`upload_choking_algorithm` | integer | Upload choking algorithm used (see list of possible values below) -`upload_slots_behavior` | integer | Upload slots behavior used (see list of possible values below) -`upnp_lease_duration` | integer | UPnP lease duration (0: Permanent lease) -`utp_tcp_mixed_mode` | integer | μTP-TCP mixed mode algorithm (see list of possible values below) +`locale` _optional_ | string | Currently selected language (e.g. en_GB for English) +`create_subfolder_enabled` _optional_ | bool | True if a subfolder should be created when adding a torrent +`start_paused_enabled` _optional_ | bool | True if torrents should be added in a Paused state +`auto_delete_mode` _optional_ | integer | TODO +`preallocate_all` _optional_ | bool | True if disk space should be pre-allocated for all files +`incomplete_files_ext` _optional_ | bool | True if ".!qB" should be appended to incomplete files +`auto_tmm_enabled` _optional_ | bool | True if Automatic Torrent Management is enabled by default +`torrent_changed_tmm_enabled` _optional_ | bool | True if torrent should be relocated when its Category changes +`save_path_changed_tmm_enabled` _optional_ | bool | True if torrent should be relocated when the default save path changes +`category_changed_tmm_enabled` _optional_ | bool | True if torrent should be relocated when its Category's save path changes +`save_path` _optional_ | string | Default save path for torrents, separated by slashes +`temp_path_enabled` _optional_ | bool | True if folder for incomplete torrents is enabled +`temp_path` _optional_ | string | Path for incomplete torrents, separated by slashes +`scan_dirs` _optional_ | object | scan_dirs object see table below. Property: directory to watch for torrent files, value: where torrents loaded from this directory should be downloaded to (see list of possible values below). Slashes are used as path separators; multiple key/value pairs can be specified +`export_dir` _optional_ | string | Path to directory to copy .torrent files to. Slashes are used as path separators +`export_dir_fin` _optional_ | string | Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators +`mail_notification_enabled` _optional_ | bool | True if e-mail notification should be enabled +`mail_notification_sender` _optional_ | string | e-mail where notifications should originate from +`mail_notification_email` _optional_ | string | e-mail to send notifications to +`mail_notification_smtp` _optional_ | string | smtp server for e-mail notifications +`mail_notification_ssl_enabled` _optional_ | bool | True if smtp server requires SSL connection +`mail_notification_auth_enabled` _optional_ | bool | True if smtp server requires authentication +`mail_notification_username` _optional_ | string | Username for smtp authentication +`mail_notification_password` _optional_ | string | Password for smtp authentication +`autorun_enabled` _optional_ | bool | True if external program should be run after torrent has finished downloading +`autorun_program` _optional_ | string | Program path/name/arguments to run if `autorun_enabled` is enabled; path is separated by slashes; you can use `%f` and `%n` arguments, which will be expanded by qBittorent as path_to_torrent_file and torrent_name (from the GUI; not the .torrent file name) respectively +`queueing_enabled` _optional_ | bool | True if torrent queuing is enabled +`max_active_downloads` _optional_ | integer | Maximum number of active simultaneous downloads +`max_active_torrents` _optional_ | integer | Maximum number of active simultaneous downloads and uploads +`max_active_uploads` _optional_ | integer | Maximum number of active simultaneous uploads +`dont_count_slow_torrents` _optional_ | bool | If true torrents w/o any activity (stalled ones) will not be counted towards `max_active_*` limits; see [dont_count_slow_torrents](https://www.libtorrent.org/reference-Settings.html#dont_count_slow_torrents) for more information +`slow_torrent_dl_rate_threshold` _optional_ | integer | Download rate in KiB/s for a torrent to be considered "slow" +`slow_torrent_ul_rate_threshold` _optional_ | integer | Upload rate in KiB/s for a torrent to be considered "slow" +`slow_torrent_inactive_timer` _optional_ | integer | Seconds a torrent should be inactive before considered "slow" +`max_ratio_enabled` _optional_ | bool | True if share ratio limit is enabled +`max_ratio` _optional_ | float | Get the global share ratio limit +`max_ratio_act` _optional_ | integer | Action performed when a torrent reaches the maximum share ratio. See list of possible values here below. +`listen_port` _optional_ | integer | Port for incoming connections +`upnp` _optional_ | bool | True if UPnP/NAT-PMP is enabled +`random_port` _optional_ | bool | True if the port is randomly selected +`dl_limit` _optional_ | integer | Global download speed limit in KiB/s; `-1` means no limit is applied +`up_limit` _optional_ | integer | Global upload speed limit in KiB/s; `-1` means no limit is applied +`max_connec` _optional_ | integer | Maximum global number of simultaneous connections +`max_connec_per_torrent` _optional_ | integer | Maximum number of simultaneous connections per torrent +`max_uploads` _optional_ | integer | Maximum number of upload slots +`max_uploads_per_torrent` _optional_ | integer | Maximum number of upload slots per torrent +`stop_tracker_timeout` _optional_ | integer | Timeout in seconds for a `stopped` announce request to trackers +`enable_piece_extent_affinity` _optional_ | bool | True if the advanced libtorrent option `piece_extent_affinity` is enabled +`bittorrent_protocol` _optional_ | integer | Bittorrent Protocol to use (see list of possible values below) +`limit_utp_rate` _optional_ | bool | True if `[du]l_limit` should be applied to uTP connections; this option is only available in qBittorent built against libtorrent version 0.16.X and higher +`limit_tcp_overhead` _optional_ | bool | True if `[du]l_limit` should be applied to estimated TCP overhead (service data: e.g. packet headers) +`limit_lan_peers` _optional_ | bool | True if `[du]l_limit` should be applied to peers on the LAN +`alt_dl_limit` _optional_ | integer | Alternative global download speed limit in KiB/s +`alt_up_limit` _optional_ | integer | Alternative global upload speed limit in KiB/s +`scheduler_enabled` _optional_ | bool | True if alternative limits should be applied according to schedule +`schedule_from_hour` _optional_ | integer | Scheduler starting hour +`schedule_from_min` _optional_ | integer | Scheduler starting minute +`schedule_to_hour` _optional_ | integer | Scheduler ending hour +`schedule_to_min` _optional_ | integer | Scheduler ending minute +`scheduler_days` _optional_ | integer | Scheduler days. See possible values here below +`dht` _optional_ | bool | True if DHT is enabled +`pex` _optional_ | bool | True if PeX is enabled +`lsd` _optional_ | bool | True if LSD is enabled +`encryption` _optional_ | integer | See list of possible values here below +`anonymous_mode` _optional_ | bool | If true anonymous mode will be enabled; read more [here](Anonymous-Mode); this option is only available in qBittorent built against libtorrent version 0.16.X and higher +`proxy_type` _optional_ | integer | See list of possible values here below +`proxy_ip` _optional_ | string | Proxy IP address or domain name +`proxy_port` _optional_ | integer | Proxy port +`proxy_peer_connections` _optional_ | bool | True if peer and web seed connections should be proxified; this option will have any effect only in qBittorent built against libtorrent version 0.16.X and higher +`proxy_auth_enabled` _optional_ | bool | True proxy requires authentication; doesn't apply to SOCKS4 proxies +`proxy_username` _optional_ | string | Username for proxy authentication +`proxy_password` _optional_ | string | Password for proxy authentication +`proxy_torrents_only` _optional_ | bool | True if proxy is only used for torrents +`ip_filter_enabled` _optional_ | bool | True if external IP filter should be enabled +`ip_filter_path` _optional_ | string | Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes +`ip_filter_trackers` _optional_ | bool | True if IP filters are applied to trackers +`web_ui_domain_list` _optional_ | string | Comma-separated list of domains to accept when performing Host header validation +`web_ui_address` _optional_ | string | IP address to use for the WebUI +`web_ui_port` _optional_ | integer | WebUI port +`web_ui_upnp` _optional_ | bool | True if UPnP is used for the WebUI port +`web_ui_username` _optional_ | string | WebUI username +`web_ui_password` _optional_ | string | For API ≥ v2.3.0: Plaintext WebUI password, not readable, write-only. For API < v2.3.0: MD5 hash of WebUI password, hash is generated from the following string: `username:Web UI Access:plain_text_web_ui_password` +`web_ui_csrf_protection_enabled` _optional_ | bool | True if WebUI CSRF protection is enabled +`web_ui_clickjacking_protection_enabled` _optional_ | bool | True if WebUI clickjacking protection is enabled +`web_ui_secure_cookie_enabled` _optional_ | bool | True if WebUI cookie `Secure` flag is enabled +`web_ui_max_auth_fail_count` _optional_ | integer | Maximum number of authentication failures before WebUI access ban +`web_ui_ban_duration` _optional_ | integer | WebUI access ban duration in seconds +`web_ui_session_timeout` _optional_ | integer | Seconds until WebUI is automatically signed off +`web_ui_host_header_validation_enabled` _optional_ | bool | True if WebUI host header validation is enabled +`bypass_local_auth` _optional_ | bool | True if authentication challenge for loopback address (127.0.0.1) should be disabled +`bypass_auth_subnet_whitelist_enabled` _optional_ | bool | True if webui authentication should be bypassed for clients whose ip resides within (at least) one of the subnets on the whitelist +`bypass_auth_subnet_whitelist` _optional_ | string | (White)list of ipv4/ipv6 subnets for which webui authentication should be bypassed; list entries are separated by commas +`alternative_webui_enabled` _optional_ | bool | True if an alternative WebUI should be used +`alternative_webui_path` _optional_ | string | File path to the alternative WebUI +`use_https` _optional_ | bool | True if WebUI HTTPS access is enabled +`ssl_key` _optional_ | string | For API < v2.0.1: SSL keyfile contents (this is a not a path) +`ssl_cert` _optional_ | string | For API < v2.0.1: SSL certificate contents (this is a not a path) +`web_ui_https_key_path` _optional_ | string | For API ≥ v2.0.1: Path to SSL keyfile +`web_ui_https_cert_path` _optional_ | string | For API ≥ v2.0.1: Path to SSL certificate +`dyndns_enabled` _optional_ | bool | True if server DNS should be updated dynamically +`dyndns_service` _optional_ | integer | See list of possible values here below +`dyndns_username` _optional_ | string | Username for DDNS service +`dyndns_password` _optional_ | string | Password for DDNS service +`dyndns_domain` _optional_ | string | Your DDNS domain name +`rss_refresh_interval` _optional_ | integer | RSS refresh interval +`rss_max_articles_per_feed` _optional_ | integer | Max stored articles per RSS feed +`rss_processing_enabled` _optional_ | bool | Enable processing of RSS feeds +`rss_auto_downloading_enabled` _optional_ | bool | Enable auto-downloading of torrents from the RSS feeds +`rss_download_repack_proper_episodes` _optional_ | bool | For API ≥ v2.5.1: Enable downloading of repack/proper Episodes +`rss_smart_episode_filters` _optional_ | string | For API ≥ v2.5.1: List of RSS Smart Episode Filters +`add_trackers_enabled` _optional_ | bool | Enable automatic adding of trackers to new torrents +`add_trackers` _optional_ | string | List of trackers to add to new torrent +`web_ui_use_custom_http_headers_enabled` _optional_ | bool | For API ≥ v2.5.1: Enable custom http headers +`web_ui_custom_http_headers` _optional_ | string | For API ≥ v2.5.1: List of custom http headers +`max_seeding_time_enabled` _optional_ | bool | True enables max seeding time +`max_seeding_time` _optional_ | integer | Number of minutes to seed a torrent +`announce_ip` _optional_ | string | TODO +`announce_to_all_tiers` _optional_ | bool | True always announce to all tiers +`announce_to_all_trackers` _optional_ | bool | True always announce to all trackers in a tier +`async_io_threads` _optional_ | integer | Number of asynchronous I/O threads +`banned_IPs` _optional_ | string | List of banned IPs +`checking_memory_use` _optional_ | integer | Outstanding memory when checking torrents in MiB +`current_interface_address` _optional_ | string | IP Address to bind to. Empty String means All addresses +`current_network_interface` _optional_ | string | Network Interface used +`disk_cache` _optional_ | integer | Disk cache used in MiB +`disk_cache_ttl` _optional_ | integer | Disk cache expiry interval in seconds +`embedded_tracker_port` _optional_ | integer | Port used for embedded tracker +`enable_coalesce_read_write` _optional_ | bool | True enables coalesce reads & writes +`enable_embedded_tracker` _optional_ | bool | True enables embedded tracker +`enable_multi_connections_from_same_ip` _optional_ | bool | True allows multiple connections from the same IP address +`enable_os_cache` _optional_ | bool | True enables os cache +`enable_upload_suggestions` _optional_ | bool | True enables sending of upload piece suggestions +`file_pool_size` _optional_ | integer | File pool size +`outgoing_ports_max` _optional_ | integer | Maximal outgoing port (0: Disabled) +`outgoing_ports_min` _optional_ | integer | Minimal outgoing port (0: Disabled) +`recheck_completed_torrents` _optional_ | bool | True rechecks torrents on completion +`resolve_peer_countries` _optional_ | bool | True resolves peer countries +`save_resume_data_interval` _optional_ | integer | Save resume data interval in min +`send_buffer_low_watermark` _optional_ | integer | Send buffer low watermark in KiB +`send_buffer_watermark` _optional_ | integer | Send buffer watermark in KiB +`send_buffer_watermark_factor` _optional_ | integer | Send buffer watermark factor in percent +`socket_backlog_size` _optional_ | integer | Socket backlog size +`upload_choking_algorithm` _optional_ | integer | Upload choking algorithm used (see list of possible values below) +`upload_slots_behavior` _optional_ | integer | Upload slots behavior used (see list of possible values below) +`upnp_lease_duration` _optional_ | integer | UPnP lease duration (0: Permanent lease) +`utp_tcp_mixed_mode` _optional_ | integer | μTP-TCP mixed mode algorithm (see list of possible values below) Possible values of `scan_dirs`: @@ -1005,14 +1003,14 @@ The response is a JSON object with the following possible fields Property | Type | Description --------------------------------|-----------|------------ `rid` | integer | Response ID -`full_update`_optional_ | bool | Whether the response contains all the data or partial data -`torrents`_optional_ | object | Property: torrent hash, value: same as [torrent list](#get-torrent-list), map from string to torrents object -`torrents_removed`_optional_ | array | List of hashes of torrents removed since last request -`categories`_optional_ | object | Info for categories added since last request, map from string to categories object -`categories_removed`_optional_ | array | List of categories removed since last request -`tags`_optional_ | array | List of tags added since last request -`tags_removed`_optional_ | array | List of tags removed since last request -`server_state`_optional_ | object | `server_state` object see table below +`full_update` _optional_ | bool | Whether the response contains all the data or partial data +`torrents` _optional_ | object | Property: torrent hash, value: same as [torrent list](#get-torrent-list), map from string to torrents object +`torrents_removed` _optional_ | array | List of hashes of torrents removed since last request +`categories` _optional_ | object | Info for categories added since last request, map from string to categories object +`categories_removed` _optional_ | array | List of categories removed since last request +`tags` _optional_ | array | List of tags added since last request +`tags_removed` _optional_ | array | List of tags removed since last request +`server_state` _optional_ | object | `server_state` object see table below Example: diff --git a/qbittorrent-web-api-gen/groups.txt b/qbittorrent-web-api-gen/groups.txt index 2518c2b..318b3de 100644 --- a/qbittorrent-web-api-gen/groups.txt +++ b/qbittorrent-web-api-gen/groups.txt @@ -156,7 +156,7 @@ ApiMethod { name: "preferences", description: Some( - "The response is a JSON object with several fields (key-value) pairs representing the application's settings. The contents may vary depending on which settings are present in qBittorrent.ini.\n\nPossible fields:\n\n\nPossible values of `scan_dirs`:\n\n\nPossible values of `scheduler_days`:\n\n\nPossible values of `encryption`:\n\n\nNB: the first options allows you to use both encrypted and unencrypted connections (this is the default); other options are mutually exclusive: e.g. by forcing encryption on you won't be able to use unencrypted connections and vice versa.\n\nPossible values of `proxy_type`:\n\n\nPossible values of `dyndns_service`:\n\n\nPossible values of `max_ratio_act`:\n\n\nPossible values of `bittorrent_protocol`:\n\n\nPossible values of `upload_choking_algorithm`:\n\n\nPossible values of `upload_slots_behavior`:\n\n\nPossible values of `utp_tcp_mixed_mode`:\n\n\nExample:\n\n```JSON\n{\n \"add_trackers\": \"\",\n \"add_trackers_enabled\": false,\n \"alt_dl_limit\": 10240,\n \"alt_up_limit\": 10240,\n \"alternative_webui_enabled\": false,\n \"alternative_webui_path\": \"/home/user/Documents/qbit-webui\",\n \"announce_ip\": \"\",\n \"announce_to_all_tiers\": true,\n \"announce_to_all_trackers\": false,\n \"anonymous_mode\": false,\n \"async_io_threads\": 4,\n \"auto_delete_mode\": 0,\n \"auto_tmm_enabled\": false,\n \"autorun_enabled\": false,\n \"autorun_program\": \"\",\n \"banned_IPs\": \"\",\n \"bittorrent_protocol\": 0,\n \"bypass_auth_subnet_whitelist\": \"\",\n \"bypass_auth_subnet_whitelist_enabled\": false,\n \"bypass_local_auth\": false,\n \"category_changed_tmm_enabled\": false,\n \"checking_memory_use\": 32,\n \"create_subfolder_enabled\": true,\n \"current_interface_address\": \"\",\n \"current_network_interface\": \"\",\n \"dht\": true,\n \"disk_cache\": -1,\n \"disk_cache_ttl\": 60,\n \"dl_limit\": 0,\n \"dont_count_slow_torrents\": false,\n \"dyndns_domain\": \"changeme.dyndns.org\",\n \"dyndns_enabled\": false,\n \"dyndns_password\": \"\",\n \"dyndns_service\": 0,\n \"dyndns_username\": \"\",\n \"embedded_tracker_port\": 9000,\n \"enable_coalesce_read_write\": false,\n \"enable_embedded_tracker\": false,\n \"enable_multi_connections_from_same_ip\": false,\n \"enable_os_cache\": true,\n \"enable_piece_extent_affinity\": false,\n \"enable_upload_suggestions\": false,\n \"encryption\": 0,\n \"export_dir\": \"/home/user/Downloads/all\",\n \"export_dir_fin\": \"/home/user/Downloads/completed\",\n \"file_pool_size\": 40,\n \"incomplete_files_ext\": false,\n \"ip_filter_enabled\": false,\n \"ip_filter_path\": \"\",\n \"ip_filter_trackers\": false,\n \"limit_lan_peers\": true,\n \"limit_tcp_overhead\": false,\n \"limit_utp_rate\": true,\n \"listen_port\": 58925,\n \"locale\": \"en\",\n \"lsd\": true,\n \"mail_notification_auth_enabled\": false,\n \"mail_notification_email\": \"\",\n \"mail_notification_enabled\": false,\n \"mail_notification_password\": \"\",\n \"mail_notification_sender\": \"qBittorrent_notification@example.com\",\n \"mail_notification_smtp\": \"smtp.changeme.com\",\n \"mail_notification_ssl_enabled\": false,\n \"mail_notification_username\": \"\",\n \"max_active_downloads\": 3,\n \"max_active_torrents\": 5,\n \"max_active_uploads\": 3,\n \"max_connec\": 500,\n \"max_connec_per_torrent\": 100,\n \"max_ratio\": -1,\n \"max_ratio_act\": 0,\n \"max_ratio_enabled\": false,\n \"max_seeding_time\": -1,\n \"max_seeding_time_enabled\": false,\n \"max_uploads\": -1,\n \"max_uploads_per_torrent\": -1,\n \"outgoing_ports_max\": 0,\n \"outgoing_ports_min\": 0,\n \"pex\": true,\n \"preallocate_all\": false,\n \"proxy_auth_enabled\": false,\n \"proxy_ip\": \"0.0.0.0\",\n \"proxy_password\": \"\",\n \"proxy_peer_connections\": false,\n \"proxy_port\": 8080,\n \"proxy_torrents_only\": false,\n \"proxy_type\": 0,\n \"proxy_username\": \"\",\n \"queueing_enabled\": false,\n \"random_port\": false,\n \"recheck_completed_torrents\": false,\n \"resolve_peer_countries\": true,\n \"rss_auto_downloading_enabled\":true,\n \"rss_download_repack_proper_episodes\":true,\n \"rss_max_articles_per_feed\":50,\n \"rss_processing_enabled\":true,\n \"rss_refresh_interval\":30,\n \"rss_smart_episode_filters\":\"s(\\\\d+)e(\\\\d+)\\n(\\\\d+)x(\\\\d+)\\n(\\\\d{4}[.\\\\-]\\\\d{1,2}[.\\\\-]\\\\d{1,2})\",\n \"save_path\": \"/home/user/Downloads/\",\n \"save_path_changed_tmm_enabled\": false,\n \"save_resume_data_interval\": 60,\n \"scan_dirs\":\n {\n \"/home/user/Downloads/incoming/games\": 0,\n \"/home/user/Downloads/incoming/movies\": 1,\n },\n \"schedule_from_hour\": 8,\n \"schedule_from_min\": 0,\n \"schedule_to_hour\": 20,\n \"schedule_to_min\": 0,\n \"scheduler_days\": 0,\n \"scheduler_enabled\": false,\n \"send_buffer_low_watermark\": 10,\n \"send_buffer_watermark\": 500,\n \"send_buffer_watermark_factor\": 50,\n \"slow_torrent_dl_rate_threshold\": 2,\n \"slow_torrent_inactive_timer\": 60,\n \"slow_torrent_ul_rate_threshold\": 2,\n \"socket_backlog_size\": 30,\n \"start_paused_enabled\": false,\n \"stop_tracker_timeout\": 1,\n \"temp_path\": \"/home/user/Downloads/temp\",\n \"temp_path_enabled\": false,\n \"torrent_changed_tmm_enabled\": true,\n \"up_limit\": 0,\n \"upload_choking_algorithm\": 1,\n \"upload_slots_behavior\": 0,\n \"upnp\": true,\n \"use_https\": false,\n \"utp_tcp_mixed_mode\": 0,\n \"web_ui_address\": \"*\",\n \"web_ui_ban_duration\": 3600,\n \"web_ui_clickjacking_protection_enabled\": true,\n \"web_ui_csrf_protection_enabled\": true,\n \"web_ui_custom_http_headers\": \"\",\n \"web_ui_domain_list\": \"*\",\n \"web_ui_host_header_validation_enabled\": true,\n \"web_ui_https_cert_path\": \"\",\n \"web_ui_https_key_path\": \"\",\n \"web_ui_max_auth_fail_count\": 5,\n \"web_ui_port\": 8080,\n \"web_ui_secure_cookie_enabled\": true,\n \"web_ui_session_timeout\": 3600,\n \"web_ui_upnp\": false,\n \"web_ui_use_custom_http_headers_enabled\": false,\n \"web_ui_username\": \"admin\"\n}\n```", + "The response is a JSON object with several fields (key-value) pairs representing the application's settings. The contents may vary depending on which settings are present in qBittorrent.ini.\n\n\nPossible values of `scan_dirs`:\n\n\nPossible values of `scheduler_days`:\n\n\nPossible values of `encryption`:\n\n\nNB: the first options allows you to use both encrypted and unencrypted connections (this is the default); other options are mutually exclusive: e.g. by forcing encryption on you won't be able to use unencrypted connections and vice versa.\n\nPossible values of `proxy_type`:\n\n\nPossible values of `dyndns_service`:\n\n\nPossible values of `max_ratio_act`:\n\n\nPossible values of `bittorrent_protocol`:\n\n\nPossible values of `upload_choking_algorithm`:\n\n\nPossible values of `upload_slots_behavior`:\n\n\nPossible values of `utp_tcp_mixed_mode`:\n\n\nExample:\n\n```JSON\n{\n \"add_trackers\": \"\",\n \"add_trackers_enabled\": false,\n \"alt_dl_limit\": 10240,\n \"alt_up_limit\": 10240,\n \"alternative_webui_enabled\": false,\n \"alternative_webui_path\": \"/home/user/Documents/qbit-webui\",\n \"announce_ip\": \"\",\n \"announce_to_all_tiers\": true,\n \"announce_to_all_trackers\": false,\n \"anonymous_mode\": false,\n \"async_io_threads\": 4,\n \"auto_delete_mode\": 0,\n \"auto_tmm_enabled\": false,\n \"autorun_enabled\": false,\n \"autorun_program\": \"\",\n \"banned_IPs\": \"\",\n \"bittorrent_protocol\": 0,\n \"bypass_auth_subnet_whitelist\": \"\",\n \"bypass_auth_subnet_whitelist_enabled\": false,\n \"bypass_local_auth\": false,\n \"category_changed_tmm_enabled\": false,\n \"checking_memory_use\": 32,\n \"create_subfolder_enabled\": true,\n \"current_interface_address\": \"\",\n \"current_network_interface\": \"\",\n \"dht\": true,\n \"disk_cache\": -1,\n \"disk_cache_ttl\": 60,\n \"dl_limit\": 0,\n \"dont_count_slow_torrents\": false,\n \"dyndns_domain\": \"changeme.dyndns.org\",\n \"dyndns_enabled\": false,\n \"dyndns_password\": \"\",\n \"dyndns_service\": 0,\n \"dyndns_username\": \"\",\n \"embedded_tracker_port\": 9000,\n \"enable_coalesce_read_write\": false,\n \"enable_embedded_tracker\": false,\n \"enable_multi_connections_from_same_ip\": false,\n \"enable_os_cache\": true,\n \"enable_piece_extent_affinity\": false,\n \"enable_upload_suggestions\": false,\n \"encryption\": 0,\n \"export_dir\": \"/home/user/Downloads/all\",\n \"export_dir_fin\": \"/home/user/Downloads/completed\",\n \"file_pool_size\": 40,\n \"incomplete_files_ext\": false,\n \"ip_filter_enabled\": false,\n \"ip_filter_path\": \"\",\n \"ip_filter_trackers\": false,\n \"limit_lan_peers\": true,\n \"limit_tcp_overhead\": false,\n \"limit_utp_rate\": true,\n \"listen_port\": 58925,\n \"locale\": \"en\",\n \"lsd\": true,\n \"mail_notification_auth_enabled\": false,\n \"mail_notification_email\": \"\",\n \"mail_notification_enabled\": false,\n \"mail_notification_password\": \"\",\n \"mail_notification_sender\": \"qBittorrent_notification@example.com\",\n \"mail_notification_smtp\": \"smtp.changeme.com\",\n \"mail_notification_ssl_enabled\": false,\n \"mail_notification_username\": \"\",\n \"max_active_downloads\": 3,\n \"max_active_torrents\": 5,\n \"max_active_uploads\": 3,\n \"max_connec\": 500,\n \"max_connec_per_torrent\": 100,\n \"max_ratio\": -1,\n \"max_ratio_act\": 0,\n \"max_ratio_enabled\": false,\n \"max_seeding_time\": -1,\n \"max_seeding_time_enabled\": false,\n \"max_uploads\": -1,\n \"max_uploads_per_torrent\": -1,\n \"outgoing_ports_max\": 0,\n \"outgoing_ports_min\": 0,\n \"pex\": true,\n \"preallocate_all\": false,\n \"proxy_auth_enabled\": false,\n \"proxy_ip\": \"0.0.0.0\",\n \"proxy_password\": \"\",\n \"proxy_peer_connections\": false,\n \"proxy_port\": 8080,\n \"proxy_torrents_only\": false,\n \"proxy_type\": 0,\n \"proxy_username\": \"\",\n \"queueing_enabled\": false,\n \"random_port\": false,\n \"recheck_completed_torrents\": false,\n \"resolve_peer_countries\": true,\n \"rss_auto_downloading_enabled\":true,\n \"rss_download_repack_proper_episodes\":true,\n \"rss_max_articles_per_feed\":50,\n \"rss_processing_enabled\":true,\n \"rss_refresh_interval\":30,\n \"rss_smart_episode_filters\":\"s(\\\\d+)e(\\\\d+)\\n(\\\\d+)x(\\\\d+)\\n(\\\\d{4}[.\\\\-]\\\\d{1,2}[.\\\\-]\\\\d{1,2})\",\n \"save_path\": \"/home/user/Downloads/\",\n \"save_path_changed_tmm_enabled\": false,\n \"save_resume_data_interval\": 60,\n \"scan_dirs\":\n {\n \"/home/user/Downloads/incoming/games\": 0,\n \"/home/user/Downloads/incoming/movies\": 1,\n },\n \"schedule_from_hour\": 8,\n \"schedule_from_min\": 0,\n \"schedule_to_hour\": 20,\n \"schedule_to_min\": 0,\n \"scheduler_days\": 0,\n \"scheduler_enabled\": false,\n \"send_buffer_low_watermark\": 10,\n \"send_buffer_watermark\": 500,\n \"send_buffer_watermark_factor\": 50,\n \"slow_torrent_dl_rate_threshold\": 2,\n \"slow_torrent_inactive_timer\": 60,\n \"slow_torrent_ul_rate_threshold\": 2,\n \"socket_backlog_size\": 30,\n \"start_paused_enabled\": false,\n \"stop_tracker_timeout\": 1,\n \"temp_path\": \"/home/user/Downloads/temp\",\n \"temp_path_enabled\": false,\n \"torrent_changed_tmm_enabled\": true,\n \"up_limit\": 0,\n \"upload_choking_algorithm\": 1,\n \"upload_slots_behavior\": 0,\n \"upnp\": true,\n \"use_https\": false,\n \"utp_tcp_mixed_mode\": 0,\n \"web_ui_address\": \"*\",\n \"web_ui_ban_duration\": 3600,\n \"web_ui_clickjacking_protection_enabled\": true,\n \"web_ui_csrf_protection_enabled\": true,\n \"web_ui_custom_http_headers\": \"\",\n \"web_ui_domain_list\": \"*\",\n \"web_ui_host_header_validation_enabled\": true,\n \"web_ui_https_cert_path\": \"\",\n \"web_ui_https_key_path\": \"\",\n \"web_ui_max_auth_fail_count\": 5,\n \"web_ui_port\": 8080,\n \"web_ui_secure_cookie_enabled\": true,\n \"web_ui_session_timeout\": 3600,\n \"web_ui_upnp\": false,\n \"web_ui_use_custom_http_headers_enabled\": false,\n \"web_ui_username\": \"admin\"\n}\n```", ), url: "preferences", types: CompositeTypes { @@ -483,6 +483,1478 @@ ], }, ), + Response( + TypeWithoutName { + types: [ + String( + TypeInfo { + name: "locale", + description: Some( + "Currently selected language (e.g. en_GB for English)", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "create_subfolder_enabled", + description: Some( + "True if a subfolder should be created when adding a torrent", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "start_paused_enabled", + description: Some( + "True if torrents should be added in a Paused state", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "auto_delete_mode", + description: Some( + "TODO", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "preallocate_all", + description: Some( + "True if disk space should be pre-allocated for all files", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "incomplete_files_ext", + description: Some( + "True if \".!qB\" should be appended to incomplete files", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "auto_tmm_enabled", + description: Some( + "True if Automatic Torrent Management is enabled by default", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "torrent_changed_tmm_enabled", + description: Some( + "True if torrent should be relocated when its Category changes", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "save_path_changed_tmm_enabled", + description: Some( + "True if torrent should be relocated when the default save path changes", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "category_changed_tmm_enabled", + description: Some( + "True if torrent should be relocated when its Category's save path changes", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "save_path", + description: Some( + "Default save path for torrents, separated by slashes", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "temp_path_enabled", + description: Some( + "True if folder for incomplete torrents is enabled", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "temp_path", + description: Some( + "Path for incomplete torrents, separated by slashes", + ), + is_optional: true, + is_list: false, + }, + ), + Object( + Object { + type_info: TypeInfo { + name: "scan_dirs", + description: Some( + "scan_dirs object see table below. Property: directory to watch for torrent files, value: where torrents loaded from this directory should be downloaded to (see list of possible values below). Slashes are used as path separators; multiple key/value pairs can be specified", + ), + is_optional: true, + is_list: false, + }, + ref_type: String( + "ScanDirs", + ), + }, + ), + String( + TypeInfo { + name: "export_dir", + description: Some( + "Path to directory to copy .torrent files to. Slashes are used as path separators", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "export_dir_fin", + description: Some( + "Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "mail_notification_enabled", + description: Some( + "True if e-mail notification should be enabled", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "mail_notification_sender", + description: Some( + "e-mail where notifications should originate from", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "mail_notification_email", + description: Some( + "e-mail to send notifications to", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "mail_notification_smtp", + description: Some( + "smtp server for e-mail notifications", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "mail_notification_ssl_enabled", + description: Some( + "True if smtp server requires SSL connection", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "mail_notification_auth_enabled", + description: Some( + "True if smtp server requires authentication", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "mail_notification_username", + description: Some( + "Username for smtp authentication", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "mail_notification_password", + description: Some( + "Password for smtp authentication", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "autorun_enabled", + description: Some( + "True if external program should be run after torrent has finished downloading", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "autorun_program", + description: Some( + "Program path/name/arguments to run if autorun_enabled is enabled; path is separated by slashes; you can use %f and %n arguments, which will be expanded by qBittorent as path_to_torrent_file and torrent_name (from the GUI; not the .torrent file name) respectively", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "queueing_enabled", + description: Some( + "True if torrent queuing is enabled", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "max_active_downloads", + description: Some( + "Maximum number of active simultaneous downloads", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "max_active_torrents", + description: Some( + "Maximum number of active simultaneous downloads and uploads", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "max_active_uploads", + description: Some( + "Maximum number of active simultaneous uploads", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "dont_count_slow_torrents", + description: Some( + "If true torrents w/o any activity (stalled ones) will not be counted towards max_active_* limits; see [dont_count_slow_torrents](https://www.libtorrent.org/reference-Settings.html#dont_count_slow_torrents) for more information", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "slow_torrent_dl_rate_threshold", + description: Some( + "Download rate in KiB/s for a torrent to be considered \"slow\"", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "slow_torrent_ul_rate_threshold", + description: Some( + "Upload rate in KiB/s for a torrent to be considered \"slow\"", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "slow_torrent_inactive_timer", + description: Some( + "Seconds a torrent should be inactive before considered \"slow\"", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "max_ratio_enabled", + description: Some( + "True if share ratio limit is enabled", + ), + is_optional: true, + is_list: false, + }, + ), + Float( + TypeInfo { + name: "max_ratio", + description: Some( + "Get the global share ratio limit", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "max_ratio_act", + description: Some( + "Action performed when a torrent reaches the maximum share ratio. See list of possible values here below.", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "listen_port", + description: Some( + "Port for incoming connections", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "upnp", + description: Some( + "True if UPnP/NAT-PMP is enabled", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "random_port", + description: Some( + "True if the port is randomly selected", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "dl_limit", + description: Some( + "Global download speed limit in KiB/s; -1 means no limit is applied", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "up_limit", + description: Some( + "Global upload speed limit in KiB/s; -1 means no limit is applied", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "max_connec", + description: Some( + "Maximum global number of simultaneous connections", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "max_connec_per_torrent", + description: Some( + "Maximum number of simultaneous connections per torrent", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "max_uploads", + description: Some( + "Maximum number of upload slots", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "max_uploads_per_torrent", + description: Some( + "Maximum number of upload slots per torrent", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "stop_tracker_timeout", + description: Some( + "Timeout in seconds for a stopped announce request to trackers", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "enable_piece_extent_affinity", + description: Some( + "True if the advanced libtorrent option piece_extent_affinity is enabled", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "bittorrent_protocol", + description: Some( + "Bittorrent Protocol to use (see list of possible values below)", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "limit_utp_rate", + description: Some( + "True if [du]l_limit should be applied to uTP connections; this option is only available in qBittorent built against libtorrent version 0.16.X and higher", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "limit_tcp_overhead", + description: Some( + "True if [du]l_limit should be applied to estimated TCP overhead (service data: e.g. packet headers)", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "limit_lan_peers", + description: Some( + "True if [du]l_limit should be applied to peers on the LAN", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "alt_dl_limit", + description: Some( + "Alternative global download speed limit in KiB/s", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "alt_up_limit", + description: Some( + "Alternative global upload speed limit in KiB/s", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "scheduler_enabled", + description: Some( + "True if alternative limits should be applied according to schedule", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "schedule_from_hour", + description: Some( + "Scheduler starting hour", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "schedule_from_min", + description: Some( + "Scheduler starting minute", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "schedule_to_hour", + description: Some( + "Scheduler ending hour", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "schedule_to_min", + description: Some( + "Scheduler ending minute", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "scheduler_days", + description: Some( + "Scheduler days. See possible values here below", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "dht", + description: Some( + "True if DHT is enabled", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "pex", + description: Some( + "True if PeX is enabled", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "lsd", + description: Some( + "True if LSD is enabled", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "encryption", + description: Some( + "See list of possible values here below", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "anonymous_mode", + description: Some( + "If true anonymous mode will be enabled; read more [here](Anonymous-Mode); this option is only available in qBittorent built against libtorrent version 0.16.X and higher", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "proxy_type", + description: Some( + "See list of possible values here below", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "proxy_ip", + description: Some( + "Proxy IP address or domain name", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "proxy_port", + description: Some( + "Proxy port", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "proxy_peer_connections", + description: Some( + "True if peer and web seed connections should be proxified; this option will have any effect only in qBittorent built against libtorrent version 0.16.X and higher", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "proxy_auth_enabled", + description: Some( + "True proxy requires authentication; doesn't apply to SOCKS4 proxies", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "proxy_username", + description: Some( + "Username for proxy authentication", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "proxy_password", + description: Some( + "Password for proxy authentication", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "proxy_torrents_only", + description: Some( + "True if proxy is only used for torrents", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "ip_filter_enabled", + description: Some( + "True if external IP filter should be enabled", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "ip_filter_path", + description: Some( + "Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "ip_filter_trackers", + description: Some( + "True if IP filters are applied to trackers", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "web_ui_domain_list", + description: Some( + "Comma-separated list of domains to accept when performing Host header validation", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "web_ui_address", + description: Some( + "IP address to use for the WebUI", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "web_ui_port", + description: Some( + "WebUI port", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "web_ui_upnp", + description: Some( + "True if UPnP is used for the WebUI port", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "web_ui_username", + description: Some( + "WebUI username", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "web_ui_password", + description: Some( + "For API ≥ v2.3.0: Plaintext WebUI password, not readable, write-only. For API < v2.3.0: MD5 hash of WebUI password, hash is generated from the following string: username:Web UI Access:plain_text_web_ui_password", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "web_ui_csrf_protection_enabled", + description: Some( + "True if WebUI CSRF protection is enabled", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "web_ui_clickjacking_protection_enabled", + description: Some( + "True if WebUI clickjacking protection is enabled", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "web_ui_secure_cookie_enabled", + description: Some( + "True if WebUI cookie Secure flag is enabled", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "web_ui_max_auth_fail_count", + description: Some( + "Maximum number of authentication failures before WebUI access ban", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "web_ui_ban_duration", + description: Some( + "WebUI access ban duration in seconds", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "web_ui_session_timeout", + description: Some( + "Seconds until WebUI is automatically signed off", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "web_ui_host_header_validation_enabled", + description: Some( + "True if WebUI host header validation is enabled", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "bypass_local_auth", + description: Some( + "True if authentication challenge for loopback address (127.0.0.1) should be disabled", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "bypass_auth_subnet_whitelist_enabled", + description: Some( + "True if webui authentication should be bypassed for clients whose ip resides within (at least) one of the subnets on the whitelist", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "bypass_auth_subnet_whitelist", + description: Some( + "(White)list of ipv4/ipv6 subnets for which webui authentication should be bypassed; list entries are separated by commas", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "alternative_webui_enabled", + description: Some( + "True if an alternative WebUI should be used", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "alternative_webui_path", + description: Some( + "File path to the alternative WebUI", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "use_https", + description: Some( + "True if WebUI HTTPS access is enabled", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "ssl_key", + description: Some( + "For API < v2.0.1: SSL keyfile contents (this is a not a path)", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "ssl_cert", + description: Some( + "For API < v2.0.1: SSL certificate contents (this is a not a path)", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "web_ui_https_key_path", + description: Some( + "For API ≥ v2.0.1: Path to SSL keyfile", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "web_ui_https_cert_path", + description: Some( + "For API ≥ v2.0.1: Path to SSL certificate", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "dyndns_enabled", + description: Some( + "True if server DNS should be updated dynamically", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "dyndns_service", + description: Some( + "See list of possible values here below", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "dyndns_username", + description: Some( + "Username for DDNS service", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "dyndns_password", + description: Some( + "Password for DDNS service", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "dyndns_domain", + description: Some( + "Your DDNS domain name", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "rss_refresh_interval", + description: Some( + "RSS refresh interval", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "rss_max_articles_per_feed", + description: Some( + "Max stored articles per RSS feed", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "rss_processing_enabled", + description: Some( + "Enable processing of RSS feeds", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "rss_auto_downloading_enabled", + description: Some( + "Enable auto-downloading of torrents from the RSS feeds", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "rss_download_repack_proper_episodes", + description: Some( + "For API ≥ v2.5.1: Enable downloading of repack/proper Episodes", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "rss_smart_episode_filters", + description: Some( + "For API ≥ v2.5.1: List of RSS Smart Episode Filters", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "add_trackers_enabled", + description: Some( + "Enable automatic adding of trackers to new torrents", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "add_trackers", + description: Some( + "List of trackers to add to new torrent", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "web_ui_use_custom_http_headers_enabled", + description: Some( + "For API ≥ v2.5.1: Enable custom http headers", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "web_ui_custom_http_headers", + description: Some( + "For API ≥ v2.5.1: List of custom http headers", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "max_seeding_time_enabled", + description: Some( + "True enables max seeding time", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "max_seeding_time", + description: Some( + "Number of minutes to seed a torrent", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "announce_ip", + description: Some( + "TODO", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "announce_to_all_tiers", + description: Some( + "True always announce to all tiers", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "announce_to_all_trackers", + description: Some( + "True always announce to all trackers in a tier", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "async_io_threads", + description: Some( + "Number of asynchronous I/O threads", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "banned_IPs", + description: Some( + "List of banned IPs", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "checking_memory_use", + description: Some( + "Outstanding memory when checking torrents in MiB", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "current_interface_address", + description: Some( + "IP Address to bind to. Empty String means All addresses", + ), + is_optional: true, + is_list: false, + }, + ), + String( + TypeInfo { + name: "current_network_interface", + description: Some( + "Network Interface used", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "disk_cache", + description: Some( + "Disk cache used in MiB", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "disk_cache_ttl", + description: Some( + "Disk cache expiry interval in seconds", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "embedded_tracker_port", + description: Some( + "Port used for embedded tracker", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "enable_coalesce_read_write", + description: Some( + "True enables coalesce reads & writes", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "enable_embedded_tracker", + description: Some( + "True enables embedded tracker", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "enable_multi_connections_from_same_ip", + description: Some( + "True allows multiple connections from the same IP address", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "enable_os_cache", + description: Some( + "True enables os cache", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "enable_upload_suggestions", + description: Some( + "True enables sending of upload piece suggestions", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "file_pool_size", + description: Some( + "File pool size", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "outgoing_ports_max", + description: Some( + "Maximal outgoing port (0: Disabled)", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "outgoing_ports_min", + description: Some( + "Minimal outgoing port (0: Disabled)", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "recheck_completed_torrents", + description: Some( + "True rechecks torrents on completion", + ), + is_optional: true, + is_list: false, + }, + ), + Bool( + TypeInfo { + name: "resolve_peer_countries", + description: Some( + "True resolves peer countries", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "save_resume_data_interval", + description: Some( + "Save resume data interval in min", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "send_buffer_low_watermark", + description: Some( + "Send buffer low watermark in KiB", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "send_buffer_watermark", + description: Some( + "Send buffer watermark in KiB", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "send_buffer_watermark_factor", + description: Some( + "Send buffer watermark factor in percent", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "socket_backlog_size", + description: Some( + "Socket backlog size", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "upload_choking_algorithm", + description: Some( + "Upload choking algorithm used (see list of possible values below)", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "upload_slots_behavior", + description: Some( + "Upload slots behavior used (see list of possible values below)", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "upnp_lease_duration", + description: Some( + "UPnP lease duration (0: Permanent lease)", + ), + is_optional: true, + is_list: false, + }, + ), + Number( + TypeInfo { + name: "utp_tcp_mixed_mode", + description: Some( + "μTP-TCP mixed mode algorithm (see list of possible values below)", + ), + is_optional: true, + is_list: false, + }, + ), + ], + is_list: false, + }, + ), ], }, }, diff --git a/qbittorrent-web-api-gen/token_tree.txt b/qbittorrent-web-api-gen/token_tree.txt index 9808ee7..482bdfa 100644 --- a/qbittorrent-web-api-gen/token_tree.txt +++ b/qbittorrent-web-api-gen/token_tree.txt @@ -1404,12 +1404,6 @@ TokenTree { Text( "", ), - Text( - "Possible fields:", - ), - Text( - "", - ), Table( Table { header: TableRow { @@ -1423,1169 +1417,1169 @@ TokenTree { split: "-----------------------------------------|---------|------------", rows: [ TableRow { - raw: "`locale` | string | Currently selected language (e.g. en_GB for English)", + raw: "`locale` _optional_ | string | Currently selected language (e.g. en_GB for English)", columns: [ - "locale", + "locale _optional_", "string", "Currently selected language (e.g. en_GB for English)", ], }, TableRow { - raw: "`create_subfolder_enabled` | bool | True if a subfolder should be created when adding a torrent", + raw: "`create_subfolder_enabled` _optional_ | bool | True if a subfolder should be created when adding a torrent", columns: [ - "create_subfolder_enabled", + "create_subfolder_enabled _optional_", "bool", "True if a subfolder should be created when adding a torrent", ], }, TableRow { - raw: "`start_paused_enabled` | bool | True if torrents should be added in a Paused state", + raw: "`start_paused_enabled` _optional_ | bool | True if torrents should be added in a Paused state", columns: [ - "start_paused_enabled", + "start_paused_enabled _optional_", "bool", "True if torrents should be added in a Paused state", ], }, TableRow { - raw: "`auto_delete_mode` | integer | TODO", + raw: "`auto_delete_mode` _optional_ | integer | TODO", columns: [ - "auto_delete_mode", + "auto_delete_mode _optional_", "integer", "TODO", ], }, TableRow { - raw: "`preallocate_all` | bool | True if disk space should be pre-allocated for all files", + raw: "`preallocate_all` _optional_ | bool | True if disk space should be pre-allocated for all files", columns: [ - "preallocate_all", + "preallocate_all _optional_", "bool", "True if disk space should be pre-allocated for all files", ], }, TableRow { - raw: "`incomplete_files_ext` | bool | True if \".!qB\" should be appended to incomplete files", + raw: "`incomplete_files_ext` _optional_ | bool | True if \".!qB\" should be appended to incomplete files", columns: [ - "incomplete_files_ext", + "incomplete_files_ext _optional_", "bool", "True if \".!qB\" should be appended to incomplete files", ], }, TableRow { - raw: "`auto_tmm_enabled` | bool | True if Automatic Torrent Management is enabled by default", + raw: "`auto_tmm_enabled` _optional_ | bool | True if Automatic Torrent Management is enabled by default", columns: [ - "auto_tmm_enabled", + "auto_tmm_enabled _optional_", "bool", "True if Automatic Torrent Management is enabled by default", ], }, TableRow { - raw: "`torrent_changed_tmm_enabled` | bool | True if torrent should be relocated when its Category changes", + raw: "`torrent_changed_tmm_enabled` _optional_ | bool | True if torrent should be relocated when its Category changes", columns: [ - "torrent_changed_tmm_enabled", + "torrent_changed_tmm_enabled _optional_", "bool", "True if torrent should be relocated when its Category changes", ], }, TableRow { - raw: "`save_path_changed_tmm_enabled` | bool | True if torrent should be relocated when the default save path changes", + raw: "`save_path_changed_tmm_enabled` _optional_ | bool | True if torrent should be relocated when the default save path changes", columns: [ - "save_path_changed_tmm_enabled", + "save_path_changed_tmm_enabled _optional_", "bool", "True if torrent should be relocated when the default save path changes", ], }, TableRow { - raw: "`category_changed_tmm_enabled` | bool | True if torrent should be relocated when its Category's save path changes", + raw: "`category_changed_tmm_enabled` _optional_ | bool | True if torrent should be relocated when its Category's save path changes", columns: [ - "category_changed_tmm_enabled", + "category_changed_tmm_enabled _optional_", "bool", "True if torrent should be relocated when its Category's save path changes", ], }, TableRow { - raw: "`save_path` | string | Default save path for torrents, separated by slashes", + raw: "`save_path` _optional_ | string | Default save path for torrents, separated by slashes", columns: [ - "save_path", + "save_path _optional_", "string", "Default save path for torrents, separated by slashes", ], }, TableRow { - raw: "`temp_path_enabled` | bool | True if folder for incomplete torrents is enabled", + raw: "`temp_path_enabled` _optional_ | bool | True if folder for incomplete torrents is enabled", columns: [ - "temp_path_enabled", + "temp_path_enabled _optional_", "bool", "True if folder for incomplete torrents is enabled", ], }, TableRow { - raw: "`temp_path` | string | Path for incomplete torrents, separated by slashes", + raw: "`temp_path` _optional_ | string | Path for incomplete torrents, separated by slashes", columns: [ - "temp_path", + "temp_path _optional_", "string", "Path for incomplete torrents, separated by slashes", ], }, TableRow { - raw: "`scan_dirs` | object | Property: directory to watch for torrent files, value: where torrents loaded from this directory should be downloaded to (see list of possible values below). Slashes are used as path separators; multiple key/value pairs can be specified", + raw: "`scan_dirs` _optional_ | object | scan_dirs object see table below. Property: directory to watch for torrent files, value: where torrents loaded from this directory should be downloaded to (see list of possible values below). Slashes are used as path separators; multiple key/value pairs can be specified", columns: [ - "scan_dirs", + "scan_dirs _optional_", "object", - "Property: directory to watch for torrent files, value: where torrents loaded from this directory should be downloaded to (see list of possible values below). Slashes are used as path separators; multiple key/value pairs can be specified", + "scan_dirs object see table below. Property: directory to watch for torrent files, value: where torrents loaded from this directory should be downloaded to (see list of possible values below). Slashes are used as path separators; multiple key/value pairs can be specified", ], }, TableRow { - raw: "`export_dir` | string | Path to directory to copy .torrent files to. Slashes are used as path separators", + raw: "`export_dir` _optional_ | string | Path to directory to copy .torrent files to. Slashes are used as path separators", columns: [ - "export_dir", + "export_dir _optional_", "string", "Path to directory to copy .torrent files to. Slashes are used as path separators", ], }, TableRow { - raw: "`export_dir_fin` | string | Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators", + raw: "`export_dir_fin` _optional_ | string | Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators", columns: [ - "export_dir_fin", + "export_dir_fin _optional_", "string", "Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators", ], }, TableRow { - raw: "`mail_notification_enabled` | bool | True if e-mail notification should be enabled", + raw: "`mail_notification_enabled` _optional_ | bool | True if e-mail notification should be enabled", columns: [ - "mail_notification_enabled", + "mail_notification_enabled _optional_", "bool", "True if e-mail notification should be enabled", ], }, TableRow { - raw: "`mail_notification_sender` | string | e-mail where notifications should originate from", + raw: "`mail_notification_sender` _optional_ | string | e-mail where notifications should originate from", columns: [ - "mail_notification_sender", + "mail_notification_sender _optional_", "string", "e-mail where notifications should originate from", ], }, TableRow { - raw: "`mail_notification_email` | string | e-mail to send notifications to", + raw: "`mail_notification_email` _optional_ | string | e-mail to send notifications to", columns: [ - "mail_notification_email", + "mail_notification_email _optional_", "string", "e-mail to send notifications to", ], }, TableRow { - raw: "`mail_notification_smtp` | string | smtp server for e-mail notifications", + raw: "`mail_notification_smtp` _optional_ | string | smtp server for e-mail notifications", columns: [ - "mail_notification_smtp", + "mail_notification_smtp _optional_", "string", "smtp server for e-mail notifications", ], }, TableRow { - raw: "`mail_notification_ssl_enabled` | bool | True if smtp server requires SSL connection", + raw: "`mail_notification_ssl_enabled` _optional_ | bool | True if smtp server requires SSL connection", columns: [ - "mail_notification_ssl_enabled", + "mail_notification_ssl_enabled _optional_", "bool", "True if smtp server requires SSL connection", ], }, TableRow { - raw: "`mail_notification_auth_enabled` | bool | True if smtp server requires authentication", + raw: "`mail_notification_auth_enabled` _optional_ | bool | True if smtp server requires authentication", columns: [ - "mail_notification_auth_enabled", + "mail_notification_auth_enabled _optional_", "bool", "True if smtp server requires authentication", ], }, TableRow { - raw: "`mail_notification_username` | string | Username for smtp authentication", + raw: "`mail_notification_username` _optional_ | string | Username for smtp authentication", columns: [ - "mail_notification_username", + "mail_notification_username _optional_", "string", "Username for smtp authentication", ], }, TableRow { - raw: "`mail_notification_password` | string | Password for smtp authentication", + raw: "`mail_notification_password` _optional_ | string | Password for smtp authentication", columns: [ - "mail_notification_password", + "mail_notification_password _optional_", "string", "Password for smtp authentication", ], }, TableRow { - raw: "`autorun_enabled` | bool | True if external program should be run after torrent has finished downloading", + raw: "`autorun_enabled` _optional_ | bool | True if external program should be run after torrent has finished downloading", columns: [ - "autorun_enabled", + "autorun_enabled _optional_", "bool", "True if external program should be run after torrent has finished downloading", ], }, TableRow { - raw: "`autorun_program` | string | Program path/name/arguments to run if `autorun_enabled` is enabled; path is separated by slashes; you can use `%f` and `%n` arguments, which will be expanded by qBittorent as path_to_torrent_file and torrent_name (from the GUI; not the .torrent file name) respectively", + raw: "`autorun_program` _optional_ | string | Program path/name/arguments to run if `autorun_enabled` is enabled; path is separated by slashes; you can use `%f` and `%n` arguments, which will be expanded by qBittorent as path_to_torrent_file and torrent_name (from the GUI; not the .torrent file name) respectively", columns: [ - "autorun_program", + "autorun_program _optional_", "string", "Program path/name/arguments to run if autorun_enabled is enabled; path is separated by slashes; you can use %f and %n arguments, which will be expanded by qBittorent as path_to_torrent_file and torrent_name (from the GUI; not the .torrent file name) respectively", ], }, TableRow { - raw: "`queueing_enabled` | bool | True if torrent queuing is enabled", + raw: "`queueing_enabled` _optional_ | bool | True if torrent queuing is enabled", columns: [ - "queueing_enabled", + "queueing_enabled _optional_", "bool", "True if torrent queuing is enabled", ], }, TableRow { - raw: "`max_active_downloads` | integer | Maximum number of active simultaneous downloads", + raw: "`max_active_downloads` _optional_ | integer | Maximum number of active simultaneous downloads", columns: [ - "max_active_downloads", + "max_active_downloads _optional_", "integer", "Maximum number of active simultaneous downloads", ], }, TableRow { - raw: "`max_active_torrents` | integer | Maximum number of active simultaneous downloads and uploads", + raw: "`max_active_torrents` _optional_ | integer | Maximum number of active simultaneous downloads and uploads", columns: [ - "max_active_torrents", + "max_active_torrents _optional_", "integer", "Maximum number of active simultaneous downloads and uploads", ], }, TableRow { - raw: "`max_active_uploads` | integer | Maximum number of active simultaneous uploads", + raw: "`max_active_uploads` _optional_ | integer | Maximum number of active simultaneous uploads", columns: [ - "max_active_uploads", + "max_active_uploads _optional_", "integer", "Maximum number of active simultaneous uploads", ], }, TableRow { - raw: "`dont_count_slow_torrents` | bool | If true torrents w/o any activity (stalled ones) will not be counted towards `max_active_*` limits; see [dont_count_slow_torrents](https://www.libtorrent.org/reference-Settings.html#dont_count_slow_torrents) for more information", + raw: "`dont_count_slow_torrents` _optional_ | bool | If true torrents w/o any activity (stalled ones) will not be counted towards `max_active_*` limits; see [dont_count_slow_torrents](https://www.libtorrent.org/reference-Settings.html#dont_count_slow_torrents) for more information", columns: [ - "dont_count_slow_torrents", + "dont_count_slow_torrents _optional_", "bool", "If true torrents w/o any activity (stalled ones) will not be counted towards max_active_* limits; see [dont_count_slow_torrents](https://www.libtorrent.org/reference-Settings.html#dont_count_slow_torrents) for more information", ], }, TableRow { - raw: "`slow_torrent_dl_rate_threshold` | integer | Download rate in KiB/s for a torrent to be considered \"slow\"", + raw: "`slow_torrent_dl_rate_threshold` _optional_ | integer | Download rate in KiB/s for a torrent to be considered \"slow\"", columns: [ - "slow_torrent_dl_rate_threshold", + "slow_torrent_dl_rate_threshold _optional_", "integer", "Download rate in KiB/s for a torrent to be considered \"slow\"", ], }, TableRow { - raw: "`slow_torrent_ul_rate_threshold` | integer | Upload rate in KiB/s for a torrent to be considered \"slow\"", + raw: "`slow_torrent_ul_rate_threshold` _optional_ | integer | Upload rate in KiB/s for a torrent to be considered \"slow\"", columns: [ - "slow_torrent_ul_rate_threshold", + "slow_torrent_ul_rate_threshold _optional_", "integer", "Upload rate in KiB/s for a torrent to be considered \"slow\"", ], }, TableRow { - raw: "`slow_torrent_inactive_timer` | integer | Seconds a torrent should be inactive before considered \"slow\"", + raw: "`slow_torrent_inactive_timer` _optional_ | integer | Seconds a torrent should be inactive before considered \"slow\"", columns: [ - "slow_torrent_inactive_timer", + "slow_torrent_inactive_timer _optional_", "integer", "Seconds a torrent should be inactive before considered \"slow\"", ], }, TableRow { - raw: "`max_ratio_enabled` | bool | True if share ratio limit is enabled", + raw: "`max_ratio_enabled` _optional_ | bool | True if share ratio limit is enabled", columns: [ - "max_ratio_enabled", + "max_ratio_enabled _optional_", "bool", "True if share ratio limit is enabled", ], }, TableRow { - raw: "`max_ratio` | float | Get the global share ratio limit", + raw: "`max_ratio` _optional_ | float | Get the global share ratio limit", columns: [ - "max_ratio", + "max_ratio _optional_", "float", "Get the global share ratio limit", ], }, TableRow { - raw: "`max_ratio_act` | integer | Action performed when a torrent reaches the maximum share ratio. See list of possible values here below.", + raw: "`max_ratio_act` _optional_ | integer | Action performed when a torrent reaches the maximum share ratio. See list of possible values here below.", columns: [ - "max_ratio_act", + "max_ratio_act _optional_", "integer", "Action performed when a torrent reaches the maximum share ratio. See list of possible values here below.", ], }, TableRow { - raw: "`listen_port` | integer | Port for incoming connections", + raw: "`listen_port` _optional_ | integer | Port for incoming connections", columns: [ - "listen_port", + "listen_port _optional_", "integer", "Port for incoming connections", ], }, TableRow { - raw: "`upnp` | bool | True if UPnP/NAT-PMP is enabled", + raw: "`upnp` _optional_ | bool | True if UPnP/NAT-PMP is enabled", columns: [ - "upnp", + "upnp _optional_", "bool", "True if UPnP/NAT-PMP is enabled", ], }, TableRow { - raw: "`random_port` | bool | True if the port is randomly selected", + raw: "`random_port` _optional_ | bool | True if the port is randomly selected", columns: [ - "random_port", + "random_port _optional_", "bool", "True if the port is randomly selected", ], }, TableRow { - raw: "`dl_limit` | integer | Global download speed limit in KiB/s; `-1` means no limit is applied", + raw: "`dl_limit` _optional_ | integer | Global download speed limit in KiB/s; `-1` means no limit is applied", columns: [ - "dl_limit", + "dl_limit _optional_", "integer", "Global download speed limit in KiB/s; -1 means no limit is applied", ], }, TableRow { - raw: "`up_limit` | integer | Global upload speed limit in KiB/s; `-1` means no limit is applied", + raw: "`up_limit` _optional_ | integer | Global upload speed limit in KiB/s; `-1` means no limit is applied", columns: [ - "up_limit", + "up_limit _optional_", "integer", "Global upload speed limit in KiB/s; -1 means no limit is applied", ], }, TableRow { - raw: "`max_connec` | integer | Maximum global number of simultaneous connections", + raw: "`max_connec` _optional_ | integer | Maximum global number of simultaneous connections", columns: [ - "max_connec", + "max_connec _optional_", "integer", "Maximum global number of simultaneous connections", ], }, TableRow { - raw: "`max_connec_per_torrent` | integer | Maximum number of simultaneous connections per torrent", + raw: "`max_connec_per_torrent` _optional_ | integer | Maximum number of simultaneous connections per torrent", columns: [ - "max_connec_per_torrent", + "max_connec_per_torrent _optional_", "integer", "Maximum number of simultaneous connections per torrent", ], }, TableRow { - raw: "`max_uploads` | integer | Maximum number of upload slots", + raw: "`max_uploads` _optional_ | integer | Maximum number of upload slots", columns: [ - "max_uploads", + "max_uploads _optional_", "integer", "Maximum number of upload slots", ], }, TableRow { - raw: "`max_uploads_per_torrent` | integer | Maximum number of upload slots per torrent", + raw: "`max_uploads_per_torrent` _optional_ | integer | Maximum number of upload slots per torrent", columns: [ - "max_uploads_per_torrent", + "max_uploads_per_torrent _optional_", "integer", "Maximum number of upload slots per torrent", ], }, TableRow { - raw: "`stop_tracker_timeout` | integer | Timeout in seconds for a `stopped` announce request to trackers", + raw: "`stop_tracker_timeout` _optional_ | integer | Timeout in seconds for a `stopped` announce request to trackers", columns: [ - "stop_tracker_timeout", + "stop_tracker_timeout _optional_", "integer", "Timeout in seconds for a stopped announce request to trackers", ], }, TableRow { - raw: "`enable_piece_extent_affinity` | bool | True if the advanced libtorrent option `piece_extent_affinity` is enabled", + raw: "`enable_piece_extent_affinity` _optional_ | bool | True if the advanced libtorrent option `piece_extent_affinity` is enabled", columns: [ - "enable_piece_extent_affinity", + "enable_piece_extent_affinity _optional_", "bool", "True if the advanced libtorrent option piece_extent_affinity is enabled", ], }, TableRow { - raw: "`bittorrent_protocol` | integer | Bittorrent Protocol to use (see list of possible values below)", + raw: "`bittorrent_protocol` _optional_ | integer | Bittorrent Protocol to use (see list of possible values below)", columns: [ - "bittorrent_protocol", + "bittorrent_protocol _optional_", "integer", "Bittorrent Protocol to use (see list of possible values below)", ], }, TableRow { - raw: "`limit_utp_rate` | bool | True if `[du]l_limit` should be applied to uTP connections; this option is only available in qBittorent built against libtorrent version 0.16.X and higher", + raw: "`limit_utp_rate` _optional_ | bool | True if `[du]l_limit` should be applied to uTP connections; this option is only available in qBittorent built against libtorrent version 0.16.X and higher", columns: [ - "limit_utp_rate", + "limit_utp_rate _optional_", "bool", "True if [du]l_limit should be applied to uTP connections; this option is only available in qBittorent built against libtorrent version 0.16.X and higher", ], }, TableRow { - raw: "`limit_tcp_overhead` | bool | True if `[du]l_limit` should be applied to estimated TCP overhead (service data: e.g. packet headers)", + raw: "`limit_tcp_overhead` _optional_ | bool | True if `[du]l_limit` should be applied to estimated TCP overhead (service data: e.g. packet headers)", columns: [ - "limit_tcp_overhead", + "limit_tcp_overhead _optional_", "bool", "True if [du]l_limit should be applied to estimated TCP overhead (service data: e.g. packet headers)", ], }, TableRow { - raw: "`limit_lan_peers` | bool | True if `[du]l_limit` should be applied to peers on the LAN", + raw: "`limit_lan_peers` _optional_ | bool | True if `[du]l_limit` should be applied to peers on the LAN", columns: [ - "limit_lan_peers", + "limit_lan_peers _optional_", "bool", "True if [du]l_limit should be applied to peers on the LAN", ], }, TableRow { - raw: "`alt_dl_limit` | integer | Alternative global download speed limit in KiB/s", + raw: "`alt_dl_limit` _optional_ | integer | Alternative global download speed limit in KiB/s", columns: [ - "alt_dl_limit", + "alt_dl_limit _optional_", "integer", "Alternative global download speed limit in KiB/s", ], }, TableRow { - raw: "`alt_up_limit` | integer | Alternative global upload speed limit in KiB/s", + raw: "`alt_up_limit` _optional_ | integer | Alternative global upload speed limit in KiB/s", columns: [ - "alt_up_limit", + "alt_up_limit _optional_", "integer", "Alternative global upload speed limit in KiB/s", ], }, TableRow { - raw: "`scheduler_enabled` | bool | True if alternative limits should be applied according to schedule", + raw: "`scheduler_enabled` _optional_ | bool | True if alternative limits should be applied according to schedule", columns: [ - "scheduler_enabled", + "scheduler_enabled _optional_", "bool", "True if alternative limits should be applied according to schedule", ], }, TableRow { - raw: "`schedule_from_hour` | integer | Scheduler starting hour", + raw: "`schedule_from_hour` _optional_ | integer | Scheduler starting hour", columns: [ - "schedule_from_hour", + "schedule_from_hour _optional_", "integer", "Scheduler starting hour", ], }, TableRow { - raw: "`schedule_from_min` | integer | Scheduler starting minute", + raw: "`schedule_from_min` _optional_ | integer | Scheduler starting minute", columns: [ - "schedule_from_min", + "schedule_from_min _optional_", "integer", "Scheduler starting minute", ], }, TableRow { - raw: "`schedule_to_hour` | integer | Scheduler ending hour", + raw: "`schedule_to_hour` _optional_ | integer | Scheduler ending hour", columns: [ - "schedule_to_hour", + "schedule_to_hour _optional_", "integer", "Scheduler ending hour", ], }, TableRow { - raw: "`schedule_to_min` | integer | Scheduler ending minute", + raw: "`schedule_to_min` _optional_ | integer | Scheduler ending minute", columns: [ - "schedule_to_min", + "schedule_to_min _optional_", "integer", "Scheduler ending minute", ], }, TableRow { - raw: "`scheduler_days` | integer | Scheduler days. See possible values here below", + raw: "`scheduler_days` _optional_ | integer | Scheduler days. See possible values here below", columns: [ - "scheduler_days", + "scheduler_days _optional_", "integer", "Scheduler days. See possible values here below", ], }, TableRow { - raw: "`dht` | bool | True if DHT is enabled", + raw: "`dht` _optional_ | bool | True if DHT is enabled", columns: [ - "dht", + "dht _optional_", "bool", "True if DHT is enabled", ], }, TableRow { - raw: "`pex` | bool | True if PeX is enabled", + raw: "`pex` _optional_ | bool | True if PeX is enabled", columns: [ - "pex", + "pex _optional_", "bool", "True if PeX is enabled", ], }, TableRow { - raw: "`lsd` | bool | True if LSD is enabled", + raw: "`lsd` _optional_ | bool | True if LSD is enabled", columns: [ - "lsd", + "lsd _optional_", "bool", "True if LSD is enabled", ], }, TableRow { - raw: "`encryption` | integer | See list of possible values here below", + raw: "`encryption` _optional_ | integer | See list of possible values here below", columns: [ - "encryption", + "encryption _optional_", "integer", "See list of possible values here below", ], }, TableRow { - raw: "`anonymous_mode` | bool | If true anonymous mode will be enabled; read more [here](Anonymous-Mode); this option is only available in qBittorent built against libtorrent version 0.16.X and higher", + raw: "`anonymous_mode` _optional_ | bool | If true anonymous mode will be enabled; read more [here](Anonymous-Mode); this option is only available in qBittorent built against libtorrent version 0.16.X and higher", columns: [ - "anonymous_mode", + "anonymous_mode _optional_", "bool", "If true anonymous mode will be enabled; read more [here](Anonymous-Mode); this option is only available in qBittorent built against libtorrent version 0.16.X and higher", ], }, TableRow { - raw: "`proxy_type` | integer | See list of possible values here below", + raw: "`proxy_type` _optional_ | integer | See list of possible values here below", columns: [ - "proxy_type", + "proxy_type _optional_", "integer", "See list of possible values here below", ], }, TableRow { - raw: "`proxy_ip` | string | Proxy IP address or domain name", + raw: "`proxy_ip` _optional_ | string | Proxy IP address or domain name", columns: [ - "proxy_ip", + "proxy_ip _optional_", "string", "Proxy IP address or domain name", ], }, TableRow { - raw: "`proxy_port` | integer | Proxy port", + raw: "`proxy_port` _optional_ | integer | Proxy port", columns: [ - "proxy_port", + "proxy_port _optional_", "integer", "Proxy port", ], }, TableRow { - raw: "`proxy_peer_connections` | bool | True if peer and web seed connections should be proxified; this option will have any effect only in qBittorent built against libtorrent version 0.16.X and higher", + raw: "`proxy_peer_connections` _optional_ | bool | True if peer and web seed connections should be proxified; this option will have any effect only in qBittorent built against libtorrent version 0.16.X and higher", columns: [ - "proxy_peer_connections", + "proxy_peer_connections _optional_", "bool", "True if peer and web seed connections should be proxified; this option will have any effect only in qBittorent built against libtorrent version 0.16.X and higher", ], }, TableRow { - raw: "`proxy_auth_enabled` | bool | True proxy requires authentication; doesn't apply to SOCKS4 proxies", + raw: "`proxy_auth_enabled` _optional_ | bool | True proxy requires authentication; doesn't apply to SOCKS4 proxies", columns: [ - "proxy_auth_enabled", + "proxy_auth_enabled _optional_", "bool", "True proxy requires authentication; doesn't apply to SOCKS4 proxies", ], }, TableRow { - raw: "`proxy_username` | string | Username for proxy authentication", + raw: "`proxy_username` _optional_ | string | Username for proxy authentication", columns: [ - "proxy_username", + "proxy_username _optional_", "string", "Username for proxy authentication", ], }, TableRow { - raw: "`proxy_password` | string | Password for proxy authentication", + raw: "`proxy_password` _optional_ | string | Password for proxy authentication", columns: [ - "proxy_password", + "proxy_password _optional_", "string", "Password for proxy authentication", ], }, TableRow { - raw: "`proxy_torrents_only` | bool | True if proxy is only used for torrents", + raw: "`proxy_torrents_only` _optional_ | bool | True if proxy is only used for torrents", columns: [ - "proxy_torrents_only", + "proxy_torrents_only _optional_", "bool", "True if proxy is only used for torrents", ], }, TableRow { - raw: "`ip_filter_enabled` | bool | True if external IP filter should be enabled", + raw: "`ip_filter_enabled` _optional_ | bool | True if external IP filter should be enabled", columns: [ - "ip_filter_enabled", + "ip_filter_enabled _optional_", "bool", "True if external IP filter should be enabled", ], }, TableRow { - raw: "`ip_filter_path` | string | Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes", + raw: "`ip_filter_path` _optional_ | string | Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes", columns: [ - "ip_filter_path", + "ip_filter_path _optional_", "string", "Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes", ], }, TableRow { - raw: "`ip_filter_trackers` | bool | True if IP filters are applied to trackers", + raw: "`ip_filter_trackers` _optional_ | bool | True if IP filters are applied to trackers", columns: [ - "ip_filter_trackers", + "ip_filter_trackers _optional_", "bool", "True if IP filters are applied to trackers", ], }, TableRow { - raw: "`web_ui_domain_list` | string | Comma-separated list of domains to accept when performing Host header validation", + raw: "`web_ui_domain_list` _optional_ | string | Comma-separated list of domains to accept when performing Host header validation", columns: [ - "web_ui_domain_list", + "web_ui_domain_list _optional_", "string", "Comma-separated list of domains to accept when performing Host header validation", ], }, TableRow { - raw: "`web_ui_address` | string | IP address to use for the WebUI", + raw: "`web_ui_address` _optional_ | string | IP address to use for the WebUI", columns: [ - "web_ui_address", + "web_ui_address _optional_", "string", "IP address to use for the WebUI", ], }, TableRow { - raw: "`web_ui_port` | integer | WebUI port", + raw: "`web_ui_port` _optional_ | integer | WebUI port", columns: [ - "web_ui_port", + "web_ui_port _optional_", "integer", "WebUI port", ], }, TableRow { - raw: "`web_ui_upnp` | bool | True if UPnP is used for the WebUI port", + raw: "`web_ui_upnp` _optional_ | bool | True if UPnP is used for the WebUI port", columns: [ - "web_ui_upnp", + "web_ui_upnp _optional_", "bool", "True if UPnP is used for the WebUI port", ], }, TableRow { - raw: "`web_ui_username` | string | WebUI username", + raw: "`web_ui_username` _optional_ | string | WebUI username", columns: [ - "web_ui_username", + "web_ui_username _optional_", "string", "WebUI username", ], }, TableRow { - raw: "`web_ui_password` | string | For API ≥ v2.3.0: Plaintext WebUI password, not readable, write-only. For API < v2.3.0: MD5 hash of WebUI password, hash is generated from the following string: `username:Web UI Access:plain_text_web_ui_password`", + raw: "`web_ui_password` _optional_ | string | For API ≥ v2.3.0: Plaintext WebUI password, not readable, write-only. For API < v2.3.0: MD5 hash of WebUI password, hash is generated from the following string: `username:Web UI Access:plain_text_web_ui_password`", columns: [ - "web_ui_password", + "web_ui_password _optional_", "string", "For API ≥ v2.3.0: Plaintext WebUI password, not readable, write-only. For API < v2.3.0: MD5 hash of WebUI password, hash is generated from the following string: username:Web UI Access:plain_text_web_ui_password", ], }, TableRow { - raw: "`web_ui_csrf_protection_enabled` | bool | True if WebUI CSRF protection is enabled", + raw: "`web_ui_csrf_protection_enabled` _optional_ | bool | True if WebUI CSRF protection is enabled", columns: [ - "web_ui_csrf_protection_enabled", + "web_ui_csrf_protection_enabled _optional_", "bool", "True if WebUI CSRF protection is enabled", ], }, TableRow { - raw: "`web_ui_clickjacking_protection_enabled` | bool | True if WebUI clickjacking protection is enabled", + raw: "`web_ui_clickjacking_protection_enabled` _optional_ | bool | True if WebUI clickjacking protection is enabled", columns: [ - "web_ui_clickjacking_protection_enabled", + "web_ui_clickjacking_protection_enabled _optional_", "bool", "True if WebUI clickjacking protection is enabled", ], }, TableRow { - raw: "`web_ui_secure_cookie_enabled` | bool | True if WebUI cookie `Secure` flag is enabled", + raw: "`web_ui_secure_cookie_enabled` _optional_ | bool | True if WebUI cookie `Secure` flag is enabled", columns: [ - "web_ui_secure_cookie_enabled", + "web_ui_secure_cookie_enabled _optional_", "bool", "True if WebUI cookie Secure flag is enabled", ], }, TableRow { - raw: "`web_ui_max_auth_fail_count` | integer | Maximum number of authentication failures before WebUI access ban", + raw: "`web_ui_max_auth_fail_count` _optional_ | integer | Maximum number of authentication failures before WebUI access ban", columns: [ - "web_ui_max_auth_fail_count", + "web_ui_max_auth_fail_count _optional_", "integer", "Maximum number of authentication failures before WebUI access ban", ], }, TableRow { - raw: "`web_ui_ban_duration` | integer | WebUI access ban duration in seconds", + raw: "`web_ui_ban_duration` _optional_ | integer | WebUI access ban duration in seconds", columns: [ - "web_ui_ban_duration", + "web_ui_ban_duration _optional_", "integer", "WebUI access ban duration in seconds", ], }, TableRow { - raw: "`web_ui_session_timeout` | integer | Seconds until WebUI is automatically signed off", + raw: "`web_ui_session_timeout` _optional_ | integer | Seconds until WebUI is automatically signed off", columns: [ - "web_ui_session_timeout", + "web_ui_session_timeout _optional_", "integer", "Seconds until WebUI is automatically signed off", ], }, TableRow { - raw: "`web_ui_host_header_validation_enabled` | bool | True if WebUI host header validation is enabled", + raw: "`web_ui_host_header_validation_enabled` _optional_ | bool | True if WebUI host header validation is enabled", columns: [ - "web_ui_host_header_validation_enabled", + "web_ui_host_header_validation_enabled _optional_", "bool", "True if WebUI host header validation is enabled", ], }, TableRow { - raw: "`bypass_local_auth` | bool | True if authentication challenge for loopback address (127.0.0.1) should be disabled", + raw: "`bypass_local_auth` _optional_ | bool | True if authentication challenge for loopback address (127.0.0.1) should be disabled", columns: [ - "bypass_local_auth", + "bypass_local_auth _optional_", "bool", "True if authentication challenge for loopback address (127.0.0.1) should be disabled", ], }, TableRow { - raw: "`bypass_auth_subnet_whitelist_enabled` | bool | True if webui authentication should be bypassed for clients whose ip resides within (at least) one of the subnets on the whitelist", + raw: "`bypass_auth_subnet_whitelist_enabled` _optional_ | bool | True if webui authentication should be bypassed for clients whose ip resides within (at least) one of the subnets on the whitelist", columns: [ - "bypass_auth_subnet_whitelist_enabled", + "bypass_auth_subnet_whitelist_enabled _optional_", "bool", "True if webui authentication should be bypassed for clients whose ip resides within (at least) one of the subnets on the whitelist", ], }, TableRow { - raw: "`bypass_auth_subnet_whitelist` | string | (White)list of ipv4/ipv6 subnets for which webui authentication should be bypassed; list entries are separated by commas", + raw: "`bypass_auth_subnet_whitelist` _optional_ | string | (White)list of ipv4/ipv6 subnets for which webui authentication should be bypassed; list entries are separated by commas", columns: [ - "bypass_auth_subnet_whitelist", + "bypass_auth_subnet_whitelist _optional_", "string", "(White)list of ipv4/ipv6 subnets for which webui authentication should be bypassed; list entries are separated by commas", ], }, TableRow { - raw: "`alternative_webui_enabled` | bool | True if an alternative WebUI should be used", + raw: "`alternative_webui_enabled` _optional_ | bool | True if an alternative WebUI should be used", columns: [ - "alternative_webui_enabled", + "alternative_webui_enabled _optional_", "bool", "True if an alternative WebUI should be used", ], }, TableRow { - raw: "`alternative_webui_path` | string | File path to the alternative WebUI", + raw: "`alternative_webui_path` _optional_ | string | File path to the alternative WebUI", columns: [ - "alternative_webui_path", + "alternative_webui_path _optional_", "string", "File path to the alternative WebUI", ], }, TableRow { - raw: "`use_https` | bool | True if WebUI HTTPS access is enabled", + raw: "`use_https` _optional_ | bool | True if WebUI HTTPS access is enabled", columns: [ - "use_https", + "use_https _optional_", "bool", "True if WebUI HTTPS access is enabled", ], }, TableRow { - raw: "`ssl_key` | string | For API < v2.0.1: SSL keyfile contents (this is a not a path)", + raw: "`ssl_key` _optional_ | string | For API < v2.0.1: SSL keyfile contents (this is a not a path)", columns: [ - "ssl_key", + "ssl_key _optional_", "string", "For API < v2.0.1: SSL keyfile contents (this is a not a path)", ], }, TableRow { - raw: "`ssl_cert` | string | For API < v2.0.1: SSL certificate contents (this is a not a path)", + raw: "`ssl_cert` _optional_ | string | For API < v2.0.1: SSL certificate contents (this is a not a path)", columns: [ - "ssl_cert", + "ssl_cert _optional_", "string", "For API < v2.0.1: SSL certificate contents (this is a not a path)", ], }, TableRow { - raw: "`web_ui_https_key_path` | string | For API ≥ v2.0.1: Path to SSL keyfile", + raw: "`web_ui_https_key_path` _optional_ | string | For API ≥ v2.0.1: Path to SSL keyfile", columns: [ - "web_ui_https_key_path", + "web_ui_https_key_path _optional_", "string", "For API ≥ v2.0.1: Path to SSL keyfile", ], }, TableRow { - raw: "`web_ui_https_cert_path` | string | For API ≥ v2.0.1: Path to SSL certificate", + raw: "`web_ui_https_cert_path` _optional_ | string | For API ≥ v2.0.1: Path to SSL certificate", columns: [ - "web_ui_https_cert_path", + "web_ui_https_cert_path _optional_", "string", "For API ≥ v2.0.1: Path to SSL certificate", ], }, TableRow { - raw: "`dyndns_enabled` | bool | True if server DNS should be updated dynamically", + raw: "`dyndns_enabled` _optional_ | bool | True if server DNS should be updated dynamically", columns: [ - "dyndns_enabled", + "dyndns_enabled _optional_", "bool", "True if server DNS should be updated dynamically", ], }, TableRow { - raw: "`dyndns_service` | integer | See list of possible values here below", + raw: "`dyndns_service` _optional_ | integer | See list of possible values here below", columns: [ - "dyndns_service", + "dyndns_service _optional_", "integer", "See list of possible values here below", ], }, TableRow { - raw: "`dyndns_username` | string | Username for DDNS service", + raw: "`dyndns_username` _optional_ | string | Username for DDNS service", columns: [ - "dyndns_username", + "dyndns_username _optional_", "string", "Username for DDNS service", ], }, TableRow { - raw: "`dyndns_password` | string | Password for DDNS service", + raw: "`dyndns_password` _optional_ | string | Password for DDNS service", columns: [ - "dyndns_password", + "dyndns_password _optional_", "string", "Password for DDNS service", ], }, TableRow { - raw: "`dyndns_domain` | string | Your DDNS domain name", + raw: "`dyndns_domain` _optional_ | string | Your DDNS domain name", columns: [ - "dyndns_domain", + "dyndns_domain _optional_", "string", "Your DDNS domain name", ], }, TableRow { - raw: "`rss_refresh_interval` | integer | RSS refresh interval", + raw: "`rss_refresh_interval` _optional_ | integer | RSS refresh interval", columns: [ - "rss_refresh_interval", + "rss_refresh_interval _optional_", "integer", "RSS refresh interval", ], }, TableRow { - raw: "`rss_max_articles_per_feed` | integer | Max stored articles per RSS feed", + raw: "`rss_max_articles_per_feed` _optional_ | integer | Max stored articles per RSS feed", columns: [ - "rss_max_articles_per_feed", + "rss_max_articles_per_feed _optional_", "integer", "Max stored articles per RSS feed", ], }, TableRow { - raw: "`rss_processing_enabled` | bool | Enable processing of RSS feeds", + raw: "`rss_processing_enabled` _optional_ | bool | Enable processing of RSS feeds", columns: [ - "rss_processing_enabled", + "rss_processing_enabled _optional_", "bool", "Enable processing of RSS feeds", ], }, TableRow { - raw: "`rss_auto_downloading_enabled` | bool | Enable auto-downloading of torrents from the RSS feeds", + raw: "`rss_auto_downloading_enabled` _optional_ | bool | Enable auto-downloading of torrents from the RSS feeds", columns: [ - "rss_auto_downloading_enabled", + "rss_auto_downloading_enabled _optional_", "bool", "Enable auto-downloading of torrents from the RSS feeds", ], }, TableRow { - raw: "`rss_download_repack_proper_episodes` | bool | For API ≥ v2.5.1: Enable downloading of repack/proper Episodes", + raw: "`rss_download_repack_proper_episodes` _optional_ | bool | For API ≥ v2.5.1: Enable downloading of repack/proper Episodes", columns: [ - "rss_download_repack_proper_episodes", + "rss_download_repack_proper_episodes _optional_", "bool", "For API ≥ v2.5.1: Enable downloading of repack/proper Episodes", ], }, TableRow { - raw: "`rss_smart_episode_filters` | string | For API ≥ v2.5.1: List of RSS Smart Episode Filters", + raw: "`rss_smart_episode_filters` _optional_ | string | For API ≥ v2.5.1: List of RSS Smart Episode Filters", columns: [ - "rss_smart_episode_filters", + "rss_smart_episode_filters _optional_", "string", "For API ≥ v2.5.1: List of RSS Smart Episode Filters", ], }, TableRow { - raw: "`add_trackers_enabled` | bool | Enable automatic adding of trackers to new torrents", + raw: "`add_trackers_enabled` _optional_ | bool | Enable automatic adding of trackers to new torrents", columns: [ - "add_trackers_enabled", + "add_trackers_enabled _optional_", "bool", "Enable automatic adding of trackers to new torrents", ], }, TableRow { - raw: "`add_trackers` | string | List of trackers to add to new torrent", + raw: "`add_trackers` _optional_ | string | List of trackers to add to new torrent", columns: [ - "add_trackers", + "add_trackers _optional_", "string", "List of trackers to add to new torrent", ], }, TableRow { - raw: "`web_ui_use_custom_http_headers_enabled` | bool | For API ≥ v2.5.1: Enable custom http headers", + raw: "`web_ui_use_custom_http_headers_enabled` _optional_ | bool | For API ≥ v2.5.1: Enable custom http headers", columns: [ - "web_ui_use_custom_http_headers_enabled", + "web_ui_use_custom_http_headers_enabled _optional_", "bool", "For API ≥ v2.5.1: Enable custom http headers", ], }, TableRow { - raw: "`web_ui_custom_http_headers` | string | For API ≥ v2.5.1: List of custom http headers", + raw: "`web_ui_custom_http_headers` _optional_ | string | For API ≥ v2.5.1: List of custom http headers", columns: [ - "web_ui_custom_http_headers", + "web_ui_custom_http_headers _optional_", "string", "For API ≥ v2.5.1: List of custom http headers", ], }, TableRow { - raw: "`max_seeding_time_enabled` | bool | True enables max seeding time ", + raw: "`max_seeding_time_enabled` _optional_ | bool | True enables max seeding time ", columns: [ - "max_seeding_time_enabled", + "max_seeding_time_enabled _optional_", "bool", "True enables max seeding time", ], }, TableRow { - raw: "`max_seeding_time` | integer | Number of minutes to seed a torrent", + raw: "`max_seeding_time` _optional_ | integer | Number of minutes to seed a torrent", columns: [ - "max_seeding_time", + "max_seeding_time _optional_", "integer", "Number of minutes to seed a torrent", ], }, TableRow { - raw: "`announce_ip` | string | TODO", + raw: "`announce_ip` _optional_ | string | TODO", columns: [ - "announce_ip", + "announce_ip _optional_", "string", "TODO", ], }, TableRow { - raw: "`announce_to_all_tiers` | bool | True always announce to all tiers", + raw: "`announce_to_all_tiers` _optional_ | bool | True always announce to all tiers", columns: [ - "announce_to_all_tiers", + "announce_to_all_tiers _optional_", "bool", "True always announce to all tiers", ], }, TableRow { - raw: "`announce_to_all_trackers` | bool | True always announce to all trackers in a tier", + raw: "`announce_to_all_trackers` _optional_ | bool | True always announce to all trackers in a tier", columns: [ - "announce_to_all_trackers", + "announce_to_all_trackers _optional_", "bool", "True always announce to all trackers in a tier", ], }, TableRow { - raw: "`async_io_threads` | integer | Number of asynchronous I/O threads", + raw: "`async_io_threads` _optional_ | integer | Number of asynchronous I/O threads", columns: [ - "async_io_threads", + "async_io_threads _optional_", "integer", "Number of asynchronous I/O threads", ], }, TableRow { - raw: "`banned_IPs` | string | List of banned IPs", + raw: "`banned_IPs` _optional_ | string | List of banned IPs", columns: [ - "banned_IPs", + "banned_IPs _optional_", "string", "List of banned IPs", ], }, TableRow { - raw: "`checking_memory_use` | integer | Outstanding memory when checking torrents in MiB", + raw: "`checking_memory_use` _optional_ | integer | Outstanding memory when checking torrents in MiB", columns: [ - "checking_memory_use", + "checking_memory_use _optional_", "integer", "Outstanding memory when checking torrents in MiB", ], }, TableRow { - raw: "`current_interface_address` | string | IP Address to bind to. Empty String means All addresses", + raw: "`current_interface_address` _optional_ | string | IP Address to bind to. Empty String means All addresses", columns: [ - "current_interface_address", + "current_interface_address _optional_", "string", "IP Address to bind to. Empty String means All addresses", ], }, TableRow { - raw: "`current_network_interface` | string | Network Interface used", + raw: "`current_network_interface` _optional_ | string | Network Interface used", columns: [ - "current_network_interface", + "current_network_interface _optional_", "string", "Network Interface used", ], }, TableRow { - raw: "`disk_cache` | integer | Disk cache used in MiB", + raw: "`disk_cache` _optional_ | integer | Disk cache used in MiB", columns: [ - "disk_cache", + "disk_cache _optional_", "integer", "Disk cache used in MiB", ], }, TableRow { - raw: "`disk_cache_ttl` | integer | Disk cache expiry interval in seconds", + raw: "`disk_cache_ttl` _optional_ | integer | Disk cache expiry interval in seconds", columns: [ - "disk_cache_ttl", + "disk_cache_ttl _optional_", "integer", "Disk cache expiry interval in seconds", ], }, TableRow { - raw: "`embedded_tracker_port` | integer | Port used for embedded tracker", + raw: "`embedded_tracker_port` _optional_ | integer | Port used for embedded tracker", columns: [ - "embedded_tracker_port", + "embedded_tracker_port _optional_", "integer", "Port used for embedded tracker", ], }, TableRow { - raw: "`enable_coalesce_read_write` | bool | True enables coalesce reads & writes", + raw: "`enable_coalesce_read_write` _optional_ | bool | True enables coalesce reads & writes", columns: [ - "enable_coalesce_read_write", + "enable_coalesce_read_write _optional_", "bool", "True enables coalesce reads & writes", ], }, TableRow { - raw: "`enable_embedded_tracker` | bool | True enables embedded tracker", + raw: "`enable_embedded_tracker` _optional_ | bool | True enables embedded tracker", columns: [ - "enable_embedded_tracker", + "enable_embedded_tracker _optional_", "bool", "True enables embedded tracker", ], }, TableRow { - raw: "`enable_multi_connections_from_same_ip` | bool | True allows multiple connections from the same IP address", + raw: "`enable_multi_connections_from_same_ip` _optional_ | bool | True allows multiple connections from the same IP address", columns: [ - "enable_multi_connections_from_same_ip", + "enable_multi_connections_from_same_ip _optional_", "bool", "True allows multiple connections from the same IP address", ], }, TableRow { - raw: "`enable_os_cache` | bool | True enables os cache", + raw: "`enable_os_cache` _optional_ | bool | True enables os cache", columns: [ - "enable_os_cache", + "enable_os_cache _optional_", "bool", "True enables os cache", ], }, TableRow { - raw: "`enable_upload_suggestions` | bool | True enables sending of upload piece suggestions", + raw: "`enable_upload_suggestions` _optional_ | bool | True enables sending of upload piece suggestions", columns: [ - "enable_upload_suggestions", + "enable_upload_suggestions _optional_", "bool", "True enables sending of upload piece suggestions", ], }, TableRow { - raw: "`file_pool_size` | integer | File pool size", + raw: "`file_pool_size` _optional_ | integer | File pool size", columns: [ - "file_pool_size", + "file_pool_size _optional_", "integer", "File pool size", ], }, TableRow { - raw: "`outgoing_ports_max` | integer | Maximal outgoing port (0: Disabled)", + raw: "`outgoing_ports_max` _optional_ | integer | Maximal outgoing port (0: Disabled)", columns: [ - "outgoing_ports_max", + "outgoing_ports_max _optional_", "integer", "Maximal outgoing port (0: Disabled)", ], }, TableRow { - raw: "`outgoing_ports_min` | integer | Minimal outgoing port (0: Disabled)", + raw: "`outgoing_ports_min` _optional_ | integer | Minimal outgoing port (0: Disabled)", columns: [ - "outgoing_ports_min", + "outgoing_ports_min _optional_", "integer", "Minimal outgoing port (0: Disabled)", ], }, TableRow { - raw: "`recheck_completed_torrents` | bool | True rechecks torrents on completion", + raw: "`recheck_completed_torrents` _optional_ | bool | True rechecks torrents on completion", columns: [ - "recheck_completed_torrents", + "recheck_completed_torrents _optional_", "bool", "True rechecks torrents on completion", ], }, TableRow { - raw: "`resolve_peer_countries` | bool | True resolves peer countries", + raw: "`resolve_peer_countries` _optional_ | bool | True resolves peer countries", columns: [ - "resolve_peer_countries", + "resolve_peer_countries _optional_", "bool", "True resolves peer countries", ], }, TableRow { - raw: "`save_resume_data_interval` | integer | Save resume data interval in min", + raw: "`save_resume_data_interval` _optional_ | integer | Save resume data interval in min", columns: [ - "save_resume_data_interval", + "save_resume_data_interval _optional_", "integer", "Save resume data interval in min", ], }, TableRow { - raw: "`send_buffer_low_watermark` | integer | Send buffer low watermark in KiB", + raw: "`send_buffer_low_watermark` _optional_ | integer | Send buffer low watermark in KiB", columns: [ - "send_buffer_low_watermark", + "send_buffer_low_watermark _optional_", "integer", "Send buffer low watermark in KiB", ], }, TableRow { - raw: "`send_buffer_watermark` | integer | Send buffer watermark in KiB", + raw: "`send_buffer_watermark` _optional_ | integer | Send buffer watermark in KiB", columns: [ - "send_buffer_watermark", + "send_buffer_watermark _optional_", "integer", "Send buffer watermark in KiB", ], }, TableRow { - raw: "`send_buffer_watermark_factor` | integer | Send buffer watermark factor in percent", + raw: "`send_buffer_watermark_factor` _optional_ | integer | Send buffer watermark factor in percent", columns: [ - "send_buffer_watermark_factor", + "send_buffer_watermark_factor _optional_", "integer", "Send buffer watermark factor in percent", ], }, TableRow { - raw: "`socket_backlog_size` | integer | Socket backlog size", + raw: "`socket_backlog_size` _optional_ | integer | Socket backlog size", columns: [ - "socket_backlog_size", + "socket_backlog_size _optional_", "integer", "Socket backlog size", ], }, TableRow { - raw: "`upload_choking_algorithm` | integer | Upload choking algorithm used (see list of possible values below)", + raw: "`upload_choking_algorithm` _optional_ | integer | Upload choking algorithm used (see list of possible values below)", columns: [ - "upload_choking_algorithm", + "upload_choking_algorithm _optional_", "integer", "Upload choking algorithm used (see list of possible values below)", ], }, TableRow { - raw: "`upload_slots_behavior` | integer | Upload slots behavior used (see list of possible values below)", + raw: "`upload_slots_behavior` _optional_ | integer | Upload slots behavior used (see list of possible values below)", columns: [ - "upload_slots_behavior", + "upload_slots_behavior _optional_", "integer", "Upload slots behavior used (see list of possible values below)", ], }, TableRow { - raw: "`upnp_lease_duration` | integer | UPnP lease duration (0: Permanent lease)", + raw: "`upnp_lease_duration` _optional_ | integer | UPnP lease duration (0: Permanent lease)", columns: [ - "upnp_lease_duration", + "upnp_lease_duration _optional_", "integer", "UPnP lease duration (0: Permanent lease)", ], }, TableRow { - raw: "`utp_tcp_mixed_mode` | integer | μTP-TCP mixed mode algorithm (see list of possible values below)", + raw: "`utp_tcp_mixed_mode` _optional_ | integer | μTP-TCP mixed mode algorithm (see list of possible values below)", columns: [ - "utp_tcp_mixed_mode", + "utp_tcp_mixed_mode _optional_", "integer", "μTP-TCP mixed mode algorithm (see list of possible values below)", ], @@ -4515,65 +4509,65 @@ TokenTree { ], }, TableRow { - raw: "`full_update`_optional_ | bool | Whether the response contains all the data or partial data", + raw: "`full_update` _optional_ | bool | Whether the response contains all the data or partial data", columns: [ - "full_update_optional_", + "full_update _optional_", "bool", "Whether the response contains all the data or partial data", ], }, TableRow { - raw: "`torrents`_optional_ | object | Property: torrent hash, value: same as [torrent list](#get-torrent-list), map from string to torrents object", + raw: "`torrents` _optional_ | object | Property: torrent hash, value: same as [torrent list](#get-torrent-list), map from string to torrents object", columns: [ - "torrents_optional_", + "torrents _optional_", "object", "Property: torrent hash, value: same as [torrent list](#get-torrent-list), map from string to torrents object", ], }, TableRow { - raw: "`torrents_removed`_optional_ | array | List of hashes of torrents removed since last request", + raw: "`torrents_removed` _optional_ | array | List of hashes of torrents removed since last request", columns: [ - "torrents_removed_optional_", + "torrents_removed _optional_", "array", "List of hashes of torrents removed since last request", ], }, TableRow { - raw: "`categories`_optional_ | object | Info for categories added since last request, map from string to categories object", + raw: "`categories` _optional_ | object | Info for categories added since last request, map from string to categories object", columns: [ - "categories_optional_", + "categories _optional_", "object", "Info for categories added since last request, map from string to categories object", ], }, TableRow { - raw: "`categories_removed`_optional_ | array | List of categories removed since last request", + raw: "`categories_removed` _optional_ | array | List of categories removed since last request", columns: [ - "categories_removed_optional_", + "categories_removed _optional_", "array", "List of categories removed since last request", ], }, TableRow { - raw: "`tags`_optional_ | array | List of tags added since last request", + raw: "`tags` _optional_ | array | List of tags added since last request", columns: [ - "tags_optional_", + "tags _optional_", "array", "List of tags added since last request", ], }, TableRow { - raw: "`tags_removed`_optional_ | array | List of tags removed since last request", + raw: "`tags_removed` _optional_ | array | List of tags removed since last request", columns: [ - "tags_removed_optional_", + "tags_removed _optional_", "array", "List of tags removed since last request", ], }, TableRow { - raw: "`server_state`_optional_ | object | `server_state` object see table below", + raw: "`server_state` _optional_ | object | `server_state` object see table below", columns: [ - "server_state_optional_", + "server_state _optional_", "object", "server_state object see table below", ],