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
2 changes: 2 additions & 0 deletions docs/Rules.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ When you choose `Change quality profile and search` for Radarr or Sonarr, Mainta

For Sonarr season rules, additional actions are available to also clean up the parent show when it becomes empty after season processing.

Never-downloaded later seasons do not block those parent-show cleanup actions. Maintainerr only treats a monitored season as still keeping the show active when Sonarr reports episode files for that season.

:::warning
Disabling an active rule group does not empty its linked collection. Existing tracked items stay there until the rule group is re-enabled or deleted.

Expand Down
157 changes: 83 additions & 74 deletions static/openapi-spec/maintainerr_api_specs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -279,51 +279,51 @@ paths:
description: ''
tags:
- /settings
/api/plex:
/api/media-server:
get:
operationId: PlexApiController_getStatus
operationId: MediaServerController_getStatus
parameters: []
responses:
'200':
description: ''
tags:
- /plex
/api/plex/libraries:
- /media-server
/api/media-server/libraries:
get:
operationId: PlexApiController_getLibraries
operationId: MediaServerController_getLibraries
parameters: []
responses:
'200':
description: ''
tags:
- /plex
/api/plex/library/{id}/content/{page}:
- /media-server
/api/media-server/library/{id}/content:
get:
operationId: PlexApiController_getLibraryContent
operationId: MediaServerController_getLibraryContent
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: page
required: true
in: path
required: false
in: query
schema:
type: number
- name: amount
required: true
- name: limit
required: false
in: query
schema:
type: number
responses:
'200':
description: ''
tags:
- /plex
/api/plex/meta/{id}:
- /media-server
/api/media-server/meta/{id}:
get:
operationId: PlexApiController_getMetadata
operationId: MediaServerController_getMetadata
parameters:
- name: id
required: true
Expand All @@ -334,10 +334,10 @@ paths:
'200':
description: ''
tags:
- /plex
/api/plex/meta/{id}/seen:
- /media-server
/api/media-server/meta/{id}/seen:
get:
operationId: PlexApiController_getSeenBy
operationId: MediaServerController_getWatchHistory
parameters:
- name: id
required: true
Expand All @@ -348,19 +348,19 @@ paths:
'200':
description: ''
tags:
- /plex
/api/plex/users:
- /media-server
/api/media-server/users:
get:
operationId: PlexApiController_getUser
operationId: MediaServerController_getUsers
parameters: []
responses:
'200':
description: ''
tags:
- /plex
/api/plex/meta/{id}/children:
- /media-server
/api/media-server/meta/{id}/children:
get:
operationId: PlexApiController_getChildrenMetadata
operationId: MediaServerController_getChildrenMetadata
parameters:
- name: id
required: true
Expand All @@ -371,81 +371,81 @@ paths:
'200':
description: ''
tags:
- /plex
/api/plex/library/{id}/recent:
- /media-server
/api/media-server/library/{id}/recent:
get:
operationId: PlexApiController_getRecentlyAdded
operationId: MediaServerController_getRecentlyAdded
parameters:
- name: id
required: true
in: path
schema:
type: number
type: string
responses:
'200':
description: ''
tags:
- /plex
/api/plex/library/{id}/collections:
- /media-server
/api/media-server/library/{id}/collections:
get:
operationId: PlexApiController_getCollections
operationId: MediaServerController_getCollections
parameters:
- name: id
required: true
in: path
schema:
type: number
type: string
responses:
'200':
description: ''
tags:
- /plex
/api/plex/library/collection/{collectionId}:
- /media-server
/api/media-server/collection/{id}:
get:
operationId: PlexApiController_getCollection
operationId: MediaServerController_getCollection
parameters:
- name: collectionId
- name: id
required: true
in: path
schema:
type: number
type: string
responses:
'200':
description: ''
tags:
- /plex
- /media-server
delete:
operationId: PlexApiController_deleteCollection
operationId: MediaServerController_deleteCollection
parameters:
- name: collectionId
- name: id
required: true
in: path
schema:
type: number
type: string
responses:
'200':
description: ''
tags:
- /plex
/api/plex/library/collection/{collectionId}/children:
- /media-server
/api/media-server/collection/{id}/children:
get:
operationId: PlexApiController_getCollectionChildren
operationId: MediaServerController_getCollectionChildren
parameters:
- name: collectionId
- name: id
required: true
in: path
schema:
type: number
type: string
responses:
'200':
description: ''
tags:
- /plex
/api/plex/search/{input}:
- /media-server
/api/media-server/search/{query}:
get:
operationId: PlexApiController_searchLibrary
operationId: MediaServerController_searchContent
parameters:
- name: input
- name: query
required: true
in: path
schema:
Expand All @@ -454,77 +454,76 @@ paths:
'200':
description: ''
tags:
- /plex
/api/plex/library/collection/{collectionId}/child/{childId}:
- /media-server
/api/media-server/collection/{collectionId}/item/{itemId}:
put:
operationId: PlexApiController_addChildToCollection
operationId: MediaServerController_addToCollection
parameters:
- name: collectionId
required: true
in: path
schema:
type: number
- name: childId
type: string
- name: itemId
required: true
in: path
schema:
type: number
type: string
responses:
'200':
description: ''
tags:
- /plex
- /media-server
delete:
operationId: PlexApiController_deleteChildFromCollection
operationId: MediaServerController_removeFromCollection
parameters:
- name: collectionId
required: true
in: path
schema:
type: number
- name: childId
type: string
- name: itemId
required: true
in: path
schema:
type: number
type: string
responses:
'200':
description: ''
tags:
- /plex
/api/plex/library/collection/update:
- /media-server
/api/media-server/collection:
put:
operationId: PlexApiController_updateCollection
operationId: MediaServerController_updateCollection
parameters: []
responses:
'200':
description: ''
tags:
- /plex
/api/plex/library/collection/create:
- /media-server
post:
operationId: PlexApiController_createCollection
operationId: MediaServerController_createCollection
parameters: []
responses:
'201':
description: ''
tags:
- /plex
/api/plex/library/collection/settings:
- /media-server
/api/media-server/collection/visibility:
put:
operationId: PlexApiController_UpdateCollectionSettings
operationId: MediaServerController_updateCollectionVisibility
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionHubSettingsDto'
$ref: '#/components/schemas/CollectionVisibilitySettings'
responses:
'200':
description: ''
tags:
- /plex
- /media-server
/api/overseerr/movie/{id}:
get:
operationId: OverseerrApiController_getMovie
Expand Down Expand Up @@ -1617,9 +1616,19 @@ components:
CronScheduleDto:
type: object
properties: {}
CollectionHubSettingsDto:
CollectionVisibilitySettings:
type: object
properties: {}
properties:
libraryId:
type: string
collectionId:
type: string
ownHome:
type: boolean
sharedHome:
type: boolean
recommended:
type: boolean
RulesDto:
type: object
properties: {}
Expand Down
Loading