Download Clients
Download clients define where Servarr sends downloads. PrepArr manages them with full CRUD operations.
Schema
Section titled “Schema”{ name: string // Display name implementation: string // Implementation type implementationName: string // Human-readable implementation name configContract: string // Configuration contract fields: ConfigField[] // Client-specific settings enable: boolean // Default: true priority: number // Client priority (default: 1)}
type ConfigField = { name: string value: string | number | boolean | number[]}qBittorrent
Section titled “qBittorrent”{ "downloadClients": [ { "name": "qBittorrent", "implementation": "QBittorrent", "implementationName": "qBittorrent", "configContract": "QBittorrentSettings", "fields": [ { "name": "host", "value": "qbittorrent" }, { "name": "port", "value": 8080 }, { "name": "username", "value": "admin" }, { "name": "password", "value": "adminpass" }, { "name": "category", "value": "tv" }, { "name": "priority", "value": 0 }, { "name": "removeCompletedDownloads", "value": false }, { "name": "removeFailedDownloads", "value": false } ], "enable": true, "priority": 1 } ]}SABnzbd
Section titled “SABnzbd”{ "downloadClients": [ { "name": "SABnzbd", "implementation": "Sabnzbd", "implementationName": "SABnzbd", "configContract": "SabnzbdSettings", "fields": [ { "name": "host", "value": "sabnzbd" }, { "name": "port", "value": 8080 }, { "name": "apiKey", "value": "your-api-key" }, { "name": "tvCategory", "value": "tv" }, { "name": "movieCategory", "value": "movies" } ], "enable": true, "priority": 1 } ]}Multiple Download Clients
Section titled “Multiple Download Clients”Use the priority field to define fallback order:
{ "downloadClients": [ { "name": "qBittorrent", "implementation": "QBittorrent", "implementationName": "qBittorrent", "configContract": "QBittorrentSettings", "fields": [ { "name": "host", "value": "qbittorrent" }, { "name": "port", "value": 8080 } ], "enable": true, "priority": 1 }, { "name": "SABnzbd", "implementation": "Sabnzbd", "implementationName": "SABnzbd", "configContract": "SabnzbdSettings", "fields": [ { "name": "host", "value": "sabnzbd" }, { "name": "port", "value": 8080 }, { "name": "apiKey", "value": "your-api-key" } ], "enable": true, "priority": 2 } ]}Lower priority numbers are preferred. Client with priority 1 is used first; if unavailable, priority 2 is used.
- The
fieldsarray varies by client type. Use the Servarr API to discover available fields for each implementation. - Use per-service categories (e.g.,
tvfor Sonarr,moviesfor Radarr) to keep downloads organized.