Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions docs/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,15 @@ Maintainerr exposes lightweight health endpoints under `/api/health` (prefixed w
| `DELETE /api/settings/emby` | Remove the saved Emby connection settings |
| `POST /api/settings/emby/login` | Authenticate with an Emby admin username/password and return an API key plus admin-user choices |

### Download Client

| Endpoint | Purpose |
| ----------------------------------------- | ------------------------------------------------------------------------------- |
| `GET /api/settings/download-client` | Read the saved qBittorrent connection and cleanup options |
| `POST /api/settings/download-client` | Save qBittorrent connection and cleanup options |
| `DELETE /api/settings/download-client` | Remove the saved download-client connection settings |
| `POST /api/settings/test/download-client` | Test the qBittorrent Web UI URL, credentials, and cleanup options before saving |

### Streamystats (Jellyfin only)

| Endpoint | Purpose |
Expand Down
1 change: 1 addition & 0 deletions docs/Migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ Recent Maintainerr releases also add database support for overlays.
- new overlay template, overlay settings, and overlay item state tables
- new collection fields for `overlayEnabled`, `overlayTemplateId`, and `mediaServerSort`
- new `streamystats_url` setting for the Jellyfin-only Streamystats integration
- new download-client settings for the qBittorrent cleanup integration: URL, optional username/password, whether download data should be deleted, and the fallback seeding ratio
- 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
- 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.

Expand Down
70 changes: 70 additions & 0 deletions static/openapi-spec/maintainerr_api_specs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,56 @@ paths:
description: ''
tags:
- /settings
/api/settings/download-client:
get:
operationId: SettingsController_getDownloadClientSetting
parameters: []
responses:
'200':
description: Returns the saved qBittorrent connection and cleanup options.
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientSetting'
tags:
- /settings
post:
operationId: SettingsController_updateDownloadClientSetting
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientSetting'
responses:
'201':
description: Saves qBittorrent connection and cleanup options.
tags:
- /settings
delete:
operationId: SettingsController_removeDownloadClientSetting
parameters: []
responses:
'200':
description: Removes the saved download-client connection settings.
tags:
- /settings
/api/settings/test/download-client:
post:
operationId: SettingsController_testDownloadClient
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientSetting'
responses:
'201':
description: Tests the qBittorrent Web UI URL, credentials, and cleanup options.
tags:
- /settings
/api/settings/emby:
get:
operationId: SettingsController_getEmbySetting
Expand Down Expand Up @@ -1841,6 +1891,26 @@ components:
SettingDto:
type: object
properties: {}
DownloadClientSetting:
type: object
properties:
download_client_url:
type: string
download_client_username:
type: string
default: ''
download_client_password:
type: string
default: ''
download_client_delete_data:
type: boolean
download_client_fallback_ratio:
type: number
minimum: 0.5
required:
- download_client_url
- download_client_delete_data
- download_client_fallback_ratio
EmbySetting:
type: object
properties:
Expand Down