v1/applications/* endpoints not logging 400 #407

Closed
opened 2026-02-20 09:42:27 -05:00 by deekerman · 4 comments
Owner

Originally created by @rootwyrm on GitHub (Dec 11, 2021).

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Even at trace level, hits to the v1/applications/* endpoints which return error 400 are not logged anywhere. This is particularly obvious while troubleshooting 400 responses for partial-but-complete payloads.

Expected Behavior

API hits - particularly those resulting in errors - should be logged.

Steps To Reproduce

Slightly complicated. You'll need both a Sonarr and Prowlarr.
Extract the Prowlarr API key to /talecaster/shared/indexer.api and the Sonarr API key to /talecaster/shared/television.api
Must be done as:

$ get_apikey()
apikey=$(grep -oP '(?<=ApiKey>)[^<]+' $1)
printf '%s' $apikey

$ get_apikey sonarr/config.xml > /talecaster/shared/television.api
$ get_apikey prowlarr/config.xml > /talecaster/shared/indexer.api

Then you're gonna need this Python (in progress so it's messy.)

#!/usr/bin/python3
## XXX: copyright

import os
import sys
import requests
import json

prowlarr_key=open('/talecaster/shared/indexer.api').read()

def main(application):
    endpoint = (str.title(application))
    application_port = 8989
    headers = {
        'User-Agent': 'rootwyrm/talecaster',
        'Api Key': str(prowlarr_key)
    }
    url = f"http://indexer:9696/indexer/api/v1/applications/test"
    print('Updating %s' % endpoint)

    data = json.JSONEncoder().encode({ 
        "syncLevel": "FullSync",
        "name": endpoint,
        "fields": [
            {
                "name": "prowlarrUrl",
                "value": "http://indexer:9696/indexer"
            },
            {
                "name": "baseUrl",
                "value": f"http://{application}:{application_port}/{application}"
            },
            {
                "name": "apikey",
                "value": open(f'/talecaster/shared/{application}.api').read()
            }
        ],
        "configContract": "SonarrSettings",
        "implementationName": "Sonarr",
        "implementation": "Sonarr"
    })
    response = requests.post(url, headers=headers, data=data)
    print('Response %s' % response.status_code)


main(television)

Note that a more complete payload in the browser is both logged and passes test fine. I'm trying to use minimum viable payload so I don't have to track categories (it's intended to roll with defaults there.)

Environment

- OS: TaleCaster (Alpine 3.15)
- Prowlarr: 0.1.8.1231
- Docker Install: N/A
- Using Reverse Proxy: Yes, tested and working fine
- Browser: Multiple

What branch are you running?

Develop

Trace Logs?

There's about 10 or so tests in the middle of this. They just aren't logged. 10.1.1.50 is the browser client.

2021-12-11 13:27:35.4|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:28:05.4|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:28:35.4|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:29:05.5|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:29:35.5|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:30:05.5|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:30:35.5|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:31:05.5|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:31:35.5|Trace|Scheduler|Pending Tasks: 1
2021-12-11 13:31:35.5|Trace|CommandQueueManager|Publishing MessagingCleanup
2021-12-11 13:31:35.5|Trace|CommandQueueManager|Checking if command is queued or started: MessagingCleanup
2021-12-11 13:31:35.5|Trace|CommandQueueManager|Inserting new command: MessagingCleanup
2021-12-11 13:31:35.5|Trace|CommandExecutor|MessagingCleanupCommand -> CleanupCommandMessagingService
2021-12-11 13:31:35.5|Trace|CommandQueueManager|Marking command as started: MessagingCleanup
2021-12-11 13:31:35.5|Trace|CommandQueueManager|Cleaning up old commands
2021-12-11 13:31:35.5|Trace|CommandQueueManager|Updating command status
2021-12-11 13:31:35.5|Trace|EventAggregator|Publishing CommandExecutedEvent
2021-12-11 13:31:35.5|Trace|EventAggregator|CommandExecutedEvent -> TaskManager
2021-12-11 13:31:35.5|Trace|TaskManager|Updating last run time for: NzbDrone.Core.Messaging.Commands.MessagingCleanupCommand
2021-12-11 13:31:35.5|Trace|EventAggregator|CommandExecutedEvent <- TaskManager
2021-12-11 13:31:35.5|Trace|EventAggregator|CommandExecutedEvent -> TaskController
2021-12-11 13:31:35.5|Trace|EventAggregator|CommandExecutedEvent <- TaskController
2021-12-11 13:31:35.5|Trace|CommandExecutor|MessagingCleanupCommand <- CleanupCommandMessagingService [00:00:00.0013537]
2021-12-11 13:31:35.5|Trace|Http|Req: 56 [GET] /indexer/api/v1/command (from 10.1.1.50)
2021-12-11 13:31:35.5|Trace|CommandQueueManager|Getting all commands
2021-12-11 13:31:35.5|Trace|Http|Res: 56 [GET] /indexer/api/v1/command: 200.OK (1 ms)
2021-12-11 13:31:35.5|Trace|Http|Req: 57 [GET] /indexer/api/v1/command (from 10.1.1.50)
2021-12-11 13:31:35.5|Trace|CommandQueueManager|Getting all commands
2021-12-11 13:31:35.5|Trace|Http|Res: 57 [GET] /indexer/api/v1/command: 200.OK (0 ms)
2021-12-11 13:32:05.5|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:32:35.5|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:33:05.5|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:33:35.5|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:33:51.4|Trace|Http|Req: 58 [GET] /indexer/api/v1/update (from 10.1.1.50)
2021-12-11 13:33:51.5|Trace|Http|Req: 59 [GET] /indexer/api/v1/config/host (from 10.1.1.50)
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxyenabled' defaultValue:'False'
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxytype' defaultValue:'Http'
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxyhostname' defaultValue:''
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxyport' defaultValue:'8080'
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxyusername' defaultValue:''
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxypassword' defaultValue:''
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxybypassfilter' defaultValue:''
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxybypasslocaladdresses' defaultValue:'True'
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'certificatevalidation' defaultValue:'Enabled'
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'backupfolder' defaultValue:'Backups'
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'backupinterval' defaultValue:'7'
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'backupretention' defaultValue:'28'
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'historycleanupdays' defaultValue:'365'
2021-12-11 13:33:51.5|Trace|Http|Res: 59 [GET] /indexer/api/v1/config/host: 200.OK (4 ms)
2021-12-11 13:33:51.5|Trace|HttpClient|Req: [GET] https://prowlarr.servarr.com/v1/update/develop/changes?version=0.1.8.1231&os=linuxmusl&arch=X64&runtime=netcore&runtimeVer=6.0.0&prevVersion=0.1.0.768&active=false
2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxyenabled' defaultValue:'False'
2021-12-11 13:33:51.7|Trace|HttpClient|Res: [GET] https://prowlarr.servarr.com/v1/update/develop/changes?version=0.1.8.1231&os=linuxmusl&arch=X64&runtime=netcore&runtimeVer=6.0.0&prevVersion=0.1.0.768&active=false: 200.OK (266 ms)
2021-12-11 13:33:51.7|Trace|Http|Res: 58 [GET] /indexer/api/v1/update: 200.OK (301 ms)
2021-12-11 13:34:05.5|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:34:35.5|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:35:05.5|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:35:35.5|Trace|Scheduler|Pending Tasks: 0
2021-12-11 13:35:43.8|Trace|Http|Req: 60 [GET] /indexer/logfile/prowlarr.trace.txt (from 10.1.1.50)

AB#2125

Originally created by @rootwyrm on GitHub (Dec 11, 2021). ### Is there an existing issue for this? - [X] I have searched the existing issues ### Current Behavior Even at trace level, hits to the v1/applications/* endpoints which return error 400 are not logged anywhere. This is particularly obvious while troubleshooting 400 responses for partial-but-complete payloads. ### Expected Behavior API hits - particularly those resulting in errors - should be logged. ### Steps To Reproduce Slightly complicated. You'll need both a Sonarr and Prowlarr. Extract the Prowlarr API key to /talecaster/shared/indexer.api and the Sonarr API key to /talecaster/shared/television.api Must be done as: ``` $ get_apikey() apikey=$(grep -oP '(?<=ApiKey>)[^<]+' $1) printf '%s' $apikey $ get_apikey sonarr/config.xml > /talecaster/shared/television.api $ get_apikey prowlarr/config.xml > /talecaster/shared/indexer.api ``` Then you're gonna need this Python (in progress so it's messy.) ``` #!/usr/bin/python3 ## XXX: copyright import os import sys import requests import json prowlarr_key=open('/talecaster/shared/indexer.api').read() def main(application): endpoint = (str.title(application)) application_port = 8989 headers = { 'User-Agent': 'rootwyrm/talecaster', 'Api Key': str(prowlarr_key) } url = f"http://indexer:9696/indexer/api/v1/applications/test" print('Updating %s' % endpoint) data = json.JSONEncoder().encode({ "syncLevel": "FullSync", "name": endpoint, "fields": [ { "name": "prowlarrUrl", "value": "http://indexer:9696/indexer" }, { "name": "baseUrl", "value": f"http://{application}:{application_port}/{application}" }, { "name": "apikey", "value": open(f'/talecaster/shared/{application}.api').read() } ], "configContract": "SonarrSettings", "implementationName": "Sonarr", "implementation": "Sonarr" }) response = requests.post(url, headers=headers, data=data) print('Response %s' % response.status_code) main(television) ``` Note that a more complete payload in the browser is both logged and passes test fine. I'm trying to use minimum viable payload so I don't have to track categories (it's intended to roll with defaults there.) ### Environment ```markdown - OS: TaleCaster (Alpine 3.15) - Prowlarr: 0.1.8.1231 - Docker Install: N/A - Using Reverse Proxy: Yes, tested and working fine - Browser: Multiple ``` ### What branch are you running? Develop ### Trace Logs? There's about 10 or so tests in the middle of this. They just aren't logged. 10.1.1.50 is the browser client. ``` 2021-12-11 13:27:35.4|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:28:05.4|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:28:35.4|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:29:05.5|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:29:35.5|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:30:05.5|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:30:35.5|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:31:05.5|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:31:35.5|Trace|Scheduler|Pending Tasks: 1 2021-12-11 13:31:35.5|Trace|CommandQueueManager|Publishing MessagingCleanup 2021-12-11 13:31:35.5|Trace|CommandQueueManager|Checking if command is queued or started: MessagingCleanup 2021-12-11 13:31:35.5|Trace|CommandQueueManager|Inserting new command: MessagingCleanup 2021-12-11 13:31:35.5|Trace|CommandExecutor|MessagingCleanupCommand -> CleanupCommandMessagingService 2021-12-11 13:31:35.5|Trace|CommandQueueManager|Marking command as started: MessagingCleanup 2021-12-11 13:31:35.5|Trace|CommandQueueManager|Cleaning up old commands 2021-12-11 13:31:35.5|Trace|CommandQueueManager|Updating command status 2021-12-11 13:31:35.5|Trace|EventAggregator|Publishing CommandExecutedEvent 2021-12-11 13:31:35.5|Trace|EventAggregator|CommandExecutedEvent -> TaskManager 2021-12-11 13:31:35.5|Trace|TaskManager|Updating last run time for: NzbDrone.Core.Messaging.Commands.MessagingCleanupCommand 2021-12-11 13:31:35.5|Trace|EventAggregator|CommandExecutedEvent <- TaskManager 2021-12-11 13:31:35.5|Trace|EventAggregator|CommandExecutedEvent -> TaskController 2021-12-11 13:31:35.5|Trace|EventAggregator|CommandExecutedEvent <- TaskController 2021-12-11 13:31:35.5|Trace|CommandExecutor|MessagingCleanupCommand <- CleanupCommandMessagingService [00:00:00.0013537] 2021-12-11 13:31:35.5|Trace|Http|Req: 56 [GET] /indexer/api/v1/command (from 10.1.1.50) 2021-12-11 13:31:35.5|Trace|CommandQueueManager|Getting all commands 2021-12-11 13:31:35.5|Trace|Http|Res: 56 [GET] /indexer/api/v1/command: 200.OK (1 ms) 2021-12-11 13:31:35.5|Trace|Http|Req: 57 [GET] /indexer/api/v1/command (from 10.1.1.50) 2021-12-11 13:31:35.5|Trace|CommandQueueManager|Getting all commands 2021-12-11 13:31:35.5|Trace|Http|Res: 57 [GET] /indexer/api/v1/command: 200.OK (0 ms) 2021-12-11 13:32:05.5|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:32:35.5|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:33:05.5|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:33:35.5|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:33:51.4|Trace|Http|Req: 58 [GET] /indexer/api/v1/update (from 10.1.1.50) 2021-12-11 13:33:51.5|Trace|Http|Req: 59 [GET] /indexer/api/v1/config/host (from 10.1.1.50) 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxyenabled' defaultValue:'False' 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxytype' defaultValue:'Http' 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxyhostname' defaultValue:'' 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxyport' defaultValue:'8080' 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxyusername' defaultValue:'' 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxypassword' defaultValue:'' 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxybypassfilter' defaultValue:'' 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxybypasslocaladdresses' defaultValue:'True' 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'certificatevalidation' defaultValue:'Enabled' 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'backupfolder' defaultValue:'Backups' 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'backupinterval' defaultValue:'7' 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'backupretention' defaultValue:'28' 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'historycleanupdays' defaultValue:'365' 2021-12-11 13:33:51.5|Trace|Http|Res: 59 [GET] /indexer/api/v1/config/host: 200.OK (4 ms) 2021-12-11 13:33:51.5|Trace|HttpClient|Req: [GET] https://prowlarr.servarr.com/v1/update/develop/changes?version=0.1.8.1231&os=linuxmusl&arch=X64&runtime=netcore&runtimeVer=6.0.0&prevVersion=0.1.0.768&active=false 2021-12-11 13:33:51.5|Trace|ConfigService|Using default config value for 'proxyenabled' defaultValue:'False' 2021-12-11 13:33:51.7|Trace|HttpClient|Res: [GET] https://prowlarr.servarr.com/v1/update/develop/changes?version=0.1.8.1231&os=linuxmusl&arch=X64&runtime=netcore&runtimeVer=6.0.0&prevVersion=0.1.0.768&active=false: 200.OK (266 ms) 2021-12-11 13:33:51.7|Trace|Http|Res: 58 [GET] /indexer/api/v1/update: 200.OK (301 ms) 2021-12-11 13:34:05.5|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:34:35.5|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:35:05.5|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:35:35.5|Trace|Scheduler|Pending Tasks: 0 2021-12-11 13:35:43.8|Trace|Http|Req: 60 [GET] /indexer/logfile/prowlarr.trace.txt (from 10.1.1.50) ``` [AB#2125](https://dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_workitems/edit/2125)
deekerman 2026-02-20 09:42:27 -05:00
  • closed this issue
  • added the
    Type: Bug
    label
Author
Owner

@rootwyrm commented on GitHub (Dec 11, 2021):

Again, the Python there is very in-progress, so lots of switching around. Forgot to mention that the behavior exhibits with both v1/applications/test and v1/applications/Sonarr here.

@rootwyrm commented on GitHub (Dec 11, 2021): Again, the Python there is very in-progress, so lots of switching around. Forgot to mention that the behavior exhibits with both `v1/applications/test` and `v1/applications/Sonarr` here.
Author
Owner

@rootwyrm commented on GitHub (Dec 11, 2021):

Working browser payload:

{
"syncLevel":"fullSync",
"name":"Sonarr",
"fields":[
    {"name":"prowlarrUrl","value":"http://indexer:9696/indexer"},
    {"name":"baseUrl","value":"http://television:8989/television"},
    {"name":"apiKey","value":"ebbd84019eb146a6b88483fdf715c929"},
    {"name":"syncCategories","value":[5000,5010,5020,5030,5040,5045,5050]},
    {"name":"animeSyncCategories","value":[5070]}
],
"implementationName":"Sonarr",
"implementation":"Sonarr",
"configContract":"SonarrSettings",
"infoLink":"https://wiki.servarr.com/prowlarr/supported#sonarr",
"tags":[]
}

Non-working API payload:

{
"syncLevel":"fullSync",
"name":"Sonarr",
"fields":[
    {"name":"prowlarrUrl","value":"http://indexer:9696/indexer"},
    {"name":"baseUrl","value":"http://television:8989/television"},
    {"name":"apiKey","value":"ebbd84019eb146a6b88483fdf715c929"},
],
"implementationName":"Sonarr",
"implementation":"Sonarr",
"configContract":"SonarrSettings",
}
@rootwyrm commented on GitHub (Dec 11, 2021): Working browser payload: ``` { "syncLevel":"fullSync", "name":"Sonarr", "fields":[ {"name":"prowlarrUrl","value":"http://indexer:9696/indexer"}, {"name":"baseUrl","value":"http://television:8989/television"}, {"name":"apiKey","value":"ebbd84019eb146a6b88483fdf715c929"}, {"name":"syncCategories","value":[5000,5010,5020,5030,5040,5045,5050]}, {"name":"animeSyncCategories","value":[5070]} ], "implementationName":"Sonarr", "implementation":"Sonarr", "configContract":"SonarrSettings", "infoLink":"https://wiki.servarr.com/prowlarr/supported#sonarr", "tags":[] } ``` Non-working API payload: ``` { "syncLevel":"fullSync", "name":"Sonarr", "fields":[ {"name":"prowlarrUrl","value":"http://indexer:9696/indexer"}, {"name":"baseUrl","value":"http://television:8989/television"}, {"name":"apiKey","value":"ebbd84019eb146a6b88483fdf715c929"}, ], "implementationName":"Sonarr", "implementation":"Sonarr", "configContract":"SonarrSettings", } ```
Author
Owner

@Qstick commented on GitHub (Dec 11, 2021):

500 response on incomplete field set fixed here github.com/Prowlarr/Prowlarr@62d15536df

Per discord /applications/Sonarr is not a valid endpoint, the application specifics will be set in the payload.

@Qstick commented on GitHub (Dec 11, 2021): 500 response on incomplete field set fixed here https://github.com/Prowlarr/Prowlarr/commit/62d15536dfe0933cee1d057b5bd2abe8d6a9bba4 Per discord `/applications/Sonarr` is not a valid endpoint, the application specifics will be set in the payload.
Author
Owner

@mynameisbogdan commented on GitHub (Apr 8, 2023):

Working browser payload:

{
"syncLevel":"fullSync",
"name":"Sonarr",
"fields":[
    {"name":"prowlarrUrl","value":"http://indexer:9696/indexer"},
    {"name":"baseUrl","value":"http://television:8989/television"},
    {"name":"apiKey","value":"ebbd84019eb146a6b88483fdf715c929"},
    {"name":"syncCategories","value":[5000,5010,5020,5030,5040,5045,5050]},
    {"name":"animeSyncCategories","value":[5070]}
],
"implementationName":"Sonarr",
"implementation":"Sonarr",
"configContract":"SonarrSettings",
"infoLink":"https://wiki.servarr.com/prowlarr/supported#sonarr",
"tags":[]
}

Non-working API payload:

{
"syncLevel":"fullSync",
"name":"Sonarr",
"fields":[
    {"name":"prowlarrUrl","value":"http://indexer:9696/indexer"},
    {"name":"baseUrl","value":"http://television:8989/television"},
    {"name":"apiKey","value":"ebbd84019eb146a6b88483fdf715c929"},
],
"implementationName":"Sonarr",
"implementation":"Sonarr",
"configContract":"SonarrSettings",
}

Regarding the tags, it's related to #1080 and fixed by #1491.

@mynameisbogdan commented on GitHub (Apr 8, 2023): > Working browser payload: > > ``` > { > "syncLevel":"fullSync", > "name":"Sonarr", > "fields":[ > {"name":"prowlarrUrl","value":"http://indexer:9696/indexer"}, > {"name":"baseUrl","value":"http://television:8989/television"}, > {"name":"apiKey","value":"ebbd84019eb146a6b88483fdf715c929"}, > {"name":"syncCategories","value":[5000,5010,5020,5030,5040,5045,5050]}, > {"name":"animeSyncCategories","value":[5070]} > ], > "implementationName":"Sonarr", > "implementation":"Sonarr", > "configContract":"SonarrSettings", > "infoLink":"https://wiki.servarr.com/prowlarr/supported#sonarr", > "tags":[] > } > ``` > > Non-working API payload: > > ``` > { > "syncLevel":"fullSync", > "name":"Sonarr", > "fields":[ > {"name":"prowlarrUrl","value":"http://indexer:9696/indexer"}, > {"name":"baseUrl","value":"http://television:8989/television"}, > {"name":"apiKey","value":"ebbd84019eb146a6b88483fdf715c929"}, > ], > "implementationName":"Sonarr", > "implementation":"Sonarr", > "configContract":"SonarrSettings", > } > ``` Regarding the tags, it's related to #1080 and fixed by #1491.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Prowlarr#407
No description provided.