Skip to content

Commit 49b880d

Browse files
authored
Document download-client API drift for next release (#96)
* Initial plan * docs: document download client API drift --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
1 parent 0f44d74 commit 49b880d

3 files changed

Lines changed: 80 additions & 0 deletions

File tree

docs/API.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,15 @@ Maintainerr exposes lightweight health endpoints under `/api/health` (prefixed w
9595
| `DELETE /api/settings/emby` | Remove the saved Emby connection settings |
9696
| `POST /api/settings/emby/login` | Authenticate with an Emby admin username/password and return an API key plus admin-user choices |
9797

98+
### Download Client
99+
100+
| Endpoint | Purpose |
101+
| ----------------------------------------- | ------------------------------------------------------------------------------- |
102+
| `GET /api/settings/download-client` | Read the saved qBittorrent connection and cleanup options |
103+
| `POST /api/settings/download-client` | Save qBittorrent connection and cleanup options |
104+
| `DELETE /api/settings/download-client` | Remove the saved download-client connection settings |
105+
| `POST /api/settings/test/download-client` | Test the qBittorrent Web UI URL, credentials, and cleanup options before saving |
106+
98107
### Streamystats (Jellyfin only)
99108

100109
| Endpoint | Purpose |

docs/Migration.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ Recent Maintainerr releases also add database support for overlays.
137137
- new overlay template, overlay settings, and overlay item state tables
138138
- new collection fields for `overlayEnabled`, `overlayTemplateId`, and `mediaServerSort`
139139
- new `streamystats_url` setting for the Jellyfin-only Streamystats integration
140+
- new download-client settings for the qBittorrent cleanup integration: URL, optional username/password, whether download data should be deleted, and the fallback seeding ratio
140141
- new `collection_media.ruleEvaluationFailed` state so upgrades can preserve which rule-managed items should be skipped by automatic handling after a rule-evaluation failure; manual collection entries are still handled normally
141142
- new `NormalizeRuleSectionOperators` migration that backfills legacy null operators without changing existing matches: the first rule of a group stays unset, the first rule of a later section becomes `AND`, and later rules in that section become `OR`. This migration is behavior-preserving and its `down()` is a no-op.
142143

static/openapi-spec/maintainerr_api_specs.yaml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,56 @@ paths:
315315
description: ''
316316
tags:
317317
- /settings
318+
/api/settings/download-client:
319+
get:
320+
operationId: SettingsController_getDownloadClientSetting
321+
parameters: []
322+
responses:
323+
'200':
324+
description: Returns the saved qBittorrent connection and cleanup options.
325+
content:
326+
application/json:
327+
schema:
328+
$ref: '#/components/schemas/DownloadClientSetting'
329+
tags:
330+
- /settings
331+
post:
332+
operationId: SettingsController_updateDownloadClientSetting
333+
parameters: []
334+
requestBody:
335+
required: true
336+
content:
337+
application/json:
338+
schema:
339+
$ref: '#/components/schemas/DownloadClientSetting'
340+
responses:
341+
'201':
342+
description: Saves qBittorrent connection and cleanup options.
343+
tags:
344+
- /settings
345+
delete:
346+
operationId: SettingsController_removeDownloadClientSetting
347+
parameters: []
348+
responses:
349+
'200':
350+
description: Removes the saved download-client connection settings.
351+
tags:
352+
- /settings
353+
/api/settings/test/download-client:
354+
post:
355+
operationId: SettingsController_testDownloadClient
356+
parameters: []
357+
requestBody:
358+
required: true
359+
content:
360+
application/json:
361+
schema:
362+
$ref: '#/components/schemas/DownloadClientSetting'
363+
responses:
364+
'201':
365+
description: Tests the qBittorrent Web UI URL, credentials, and cleanup options.
366+
tags:
367+
- /settings
318368
/api/settings/emby:
319369
get:
320370
operationId: SettingsController_getEmbySetting
@@ -1841,6 +1891,26 @@ components:
18411891
SettingDto:
18421892
type: object
18431893
properties: {}
1894+
DownloadClientSetting:
1895+
type: object
1896+
properties:
1897+
download_client_url:
1898+
type: string
1899+
download_client_username:
1900+
type: string
1901+
default: ''
1902+
download_client_password:
1903+
type: string
1904+
default: ''
1905+
download_client_delete_data:
1906+
type: boolean
1907+
download_client_fallback_ratio:
1908+
type: number
1909+
minimum: 0.5
1910+
required:
1911+
- download_client_url
1912+
- download_client_delete_data
1913+
- download_client_fallback_ratio
18441914
EmbySetting:
18451915
type: object
18461916
properties:

0 commit comments

Comments
 (0)