Repository: Flexget/Flexget

Issue:
File download causes crash with MemoryError
<!---
Before opening an issue, verify:

- Is this an issue with webui? Make an issue over on https://github.com/Flexget/webui
- Did you recently upgrade? Look at the Change Log and Upgrade Actions to make sure that you don't need to make any changes to your config https://flexget.com/ChangeLog https://flexget.com/UpgradeActions
- Are you running FlexGet as a daemon? Stop it completely and then start it again https://flexget.com/CLI/daemon
- Did you search to see if the issue already exists? https://github.com/Flexget/Flexget/issues
- Did you fill out the issue template as completely as possible?

The issue template is here because it helps to ensure you submitted all the necessary information the first time, and allows us to more quickly review issues. Please fill it out correctly and do not ignore it, no matter how irrelevant you think it may be. Thanks in advance for your help with this!
--->

### Expected behaviour:

<!---
Please don't just say "it doesn't crash" or "it works". Explain what the expected result is.
--->

File is downloaded

### Actual behaviour:

I'm stuck with 3.2.7 since it's the last one that works fine.

I updated to 3.6.7 using my custom docker image `maxcanna/flexget` but it crashes with `OverflowError`

I added arm support to official image to be able to test it on my Raspberry Pi but it crashes too with `MemoryError`

I tracked the problem down to https://github.com/psf/requests but I'm not able to help more than that.

### Steps to reproduce:
- Step 1: Create an entry with an url like `https://creativemedia2-rai-it.akamaized.net/podcastmhp_world/replaytv_world/raiuno_world/sera_world/19925698_2400.mp4`

#### Config:
```yaml
configure_series:
  from:
    filesystem:
      - /media/
download: /media/{{ series_name }}/
inputs:
  - rss: https://[redacted]/rss/0.xml
series:
  - Vera: {}
set:
  filename: '{{ description }}'
```
  
#### Log:
<details>
 <summary>(click to expand)</summary>

```
2023-05-08 17:47:20 VERBOSE  task          rai             ACCEPTED: `Vera - Un'infermiera in campagna 2023.05.07` by series plugin because choosing first acceptable match
2023-05-08 17:47:21 DEBUG    series        rai             processing series took 0.0376355589999946
2023-05-08 17:47:21 DEBUG    urlrewriter   rai             Checking 1 entries
2023-05-08 17:47:21 INFO     download      rai             Downloading: Vera - Un'infermiera in campagna 2023.05.07
2023-05-08 17:47:21 DEBUG    download      rai             Downloading url 'https://creativemedia2-rai-it.akamaized.net/podcastmhp_world/replaytv_world/raiuno_world/sera_world/19925698_2400.mp4'
2023-05-08 17:47:21 DEBUG    utils.requests rai             GETing URL https://creativemedia2-rai-it.akamaized.net/podcastmhp_world/replaytv_world/raiuno_world/sera_world/19925698_2400.mp4 with args () and kwargs {'auth': None, 'headers': {'User-Agent': 'FlexGet/3.6.7 (www.flexget.com)', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive'}, 'allow_redirects': True, 'timeout': 30}
2023-05-08 17:48:36 CRITICAL task          rai             BUG: Unhandled error in plugin download: 
Traceback (most recent call last):

  File "/usr/local/lib/python3.11/threading.py", line 995, in _bootstrap
    self._bootstrap_inner()
    │    └ <function Thread._bootstrap_inner at 0xb692cb18>
    └ <Thread(task_queue, started daemon 2962677100)>
  File "/usr/local/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
    │    └ <function Thread.run at 0xb692c988>
    └ <Thread(task_queue, started daemon 2962677100)>
  File "/usr/local/lib/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
    │    │            │        │    └ {}
    │    │        │    │        └ <Thread(task_queue, started daemon 2962677100)>
    │    │        │    └ ()
    │    │        └ <Thread(task_queue, started daemon 2962677100)>
    │    └ <bound method TaskQueue.run of <flexget.task_queue.TaskQueue object at 0xb18f5d70>>
    └ <Thread(task_queue, started daemon 2962677100)>
  File "/usr/local/lib/python3.11/site-packages/flexget/task_queue.py", line 46, in run
    self.current_task.execute()
    │    │            └ <function Task.execute at 0xb3f3b758>
    │    └ <flexget.task.Task object at 0xb17d0a70>
    └ <flexget.task_queue.TaskQueue object at 0xb18f5d70>
  File "/usr/local/lib/python3.11/site-packages/flexget/task.py", line 87, in wrapper
    return func(self, *args, **kw)
           │    │      │       └ {}
           │    │      └ ()
           │    └ <flexget.task.Task object at 0xb17d0a70>
           └ <function Task.execute at 0xb3f3b708>
  File "/usr/local/lib/python3.11/site-packages/flexget/task.py", line 725, in execute
    self._execute()
    │    └ <function Task._execute at 0xb3f3b6b8>
    └ <flexget.task.Task object at 0xb17d0a70>
  File "/usr/local/lib/python3.11/site-packages/flexget/task.py", line 694, in _execute
    self.__run_task_phase(phase)
    │                     └ 'download'
    └ <flexget.task.Task object at 0xb17d0a70>
  File "/usr/local/lib/python3.11/site-packages/flexget/task.py", line 514, in __run_task_phase
    response = self.__run_plugin(plugin, phase, args)
               │                 │       │      └ (<flexget.task.Task object at 0xb17d0a70>, '/media/{{ series_name }}/')
               │                 │       └ 'download'
               │                 └ <PluginInfo(name=download)>
               └ <flexget.task.Task object at 0xb17d0a70>
> File "/usr/local/lib/python3.11/site-packages/flexget/task.py", line 547, in __run_plugin
    result = method(*args, **kwargs)
             │       │       └ {}
             │       └ (<flexget.task.Task object at 0xb17d0a70>, '/media/{{ series_name }}/')
             └ <Event(name=plugin.download.download,func=on_task_download,priority=128)>
  File "/usr/local/lib/python3.11/site-packages/flexget/event.py", line 20, in __call__
    return self.func(*args, **kwargs)
           │    │     │       └ {}
           │    │     └ (<flexget.task.Task object at 0xb17d0a70>, '/media/{{ series_name }}/')
           │    └ <bound method PluginDownload.on_task_download of <flexget.plugins.output.download.PluginDownload object at 0xb1c6eed0>>
           └ <Event(name=plugin.download.download,func=on_task_download,priority=128)>
  File "/usr/local/lib/python3.11/site-packages/flexget/plugins/output/download.py", line 88, in on_task_download
    self.get_temp_files(
    │    └ <function PluginDownload.get_temp_files at 0xb3b47708>
    └ <flexget.plugins.output.download.PluginDownload object at 0xb1c6eed0>
  File "/usr/local/lib/python3.11/site-packages/flexget/plugins/output/download.py", line 196, in get_temp_files
    self.get_temp_file(task, entry, require_path, handle_magnets, fail_html, tmp_path)
    │    │             │     │      │             │               │          └ '/config/temp'
    │    │             │     │      │             │               └ True
    │    │             │     │      │             └ False
    │    │             │     │      └ False
    │    │             │     └ <Entry(title=Vera - Un'infermiera in campagna 2023.05.07,state=accepted)>
    │    │             └ <flexget.task.Task object at 0xb17d0a70>
    │    └ <function PluginDownload.get_temp_file at 0xb3b47668>
    └ <flexget.plugins.output.download.PluginDownload object at 0xb1c6eed0>
  File "/usr/local/lib/python3.11/site-packages/flexget/plugins/output/download.py", line 138, in get_temp_file
    error = self.process_entry(task, entry, url, tmp_path)
            │    │             │     │      │    └ '/config/temp'
            │    │             │     │      └ 'https://creativemedia2-rai-it.akamaized.net/podcastmhp_world/replaytv_world/raiuno_world/sera_world/19925698_2400.mp4'
            │    │             │     └ <Entry(title=Vera - Un'infermiera in campagna 2023.05.07,state=accepted)>
            │    │             └ <flexget.task.Task object at 0xb17d0a70>
            │    └ <function PluginDownload.process_entry at 0xb3b47758>
            └ <flexget.plugins.output.download.PluginDownload object at 0xb1c6eed0>
  File "/usr/local/lib/python3.11/site-packages/flexget/plugins/output/download.py", line 216, in process_entry
    self.download_entry(task, entry, url, tmp_path)
    │    │              │     │      │    └ '/config/temp'
    │    │              │     │      └ 'https://creativemedia2-rai-it.akamaized.net/podcastmhp_world/replaytv_world/raiuno_world/sera_world/19925698_2400.mp4'
    │    │              │     └ <Entry(title=Vera - Un'infermiera in campagna 2023.05.07,state=accepted)>
    │    │              └ <flexget.task.Task object at 0xb17d0a70>
    │    └ <function PluginDownload.download_entry at 0xb3b477a8>
    └ <flexget.plugins.output.download.PluginDownload object at 0xb1c6eed0>
  File "/usr/local/lib/python3.11/site-packages/flexget/plugins/output/download.py", line 264, in download_entry
    response = task.requests.get(url, auth=auth, raise_status=False, headers=headers)
               │    │        │   │         │                                 └ {'User-Agent': 'FlexGet/3.6.7 (www.flexget.com)', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'kee...
               │    │        │   │         └ None
               │    │        │   └ 'https://creativemedia2-rai-it.akamaized.net/podcastmhp_world/replaytv_world/raiuno_world/sera_world/19925698_2400.mp4'
               │    │        └ <function Session.get at 0xb45bcbb8>
               │    └ <flexget.utils.requests.Session object at 0xaf956cb0>
               └ <flexget.task.Task object at 0xb17d0a70>
  File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 600, in get
    return self.request("GET", url, **kwargs)
           │    │              │      └ {'auth': None, 'raise_status': False, 'headers': {'User-Agent': 'FlexGet/3.6.7 (www.flexget.com)', 'Accept-Encoding': 'gzip, ...
           │    │              └ 'https://creativemedia2-rai-it.akamaized.net/podcastmhp_world/replaytv_world/raiuno_world/sera_world/19925698_2400.mp4'
           │    └ <function Session.request at 0xb3f98f28>
           └ <flexget.utils.requests.Session object at 0xaf956cb0>
  File "/usr/local/lib/python3.11/site-packages/flexget/utils/requests.py", line 267, in request
    result = super().request(method, url, *args, **kwargs)
                             │       │     │       └ {'auth': None, 'headers': {'User-Agent': 'FlexGet/3.6.7 (www.flexget.com)', 'Accept-Encoding': 'gzip, deflate, br', 'Accept':...
                             │       │     └ ()
                             │       └ 'https://creativemedia2-rai-it.akamaized.net/podcastmhp_world/replaytv_world/raiuno_world/sera_world/19925698_2400.mp4'
                             └ 'GET'
  File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
           │    │    │       └ {'timeout': 30, 'allow_redirects': True, 'proxies': OrderedDict(), 'stream': False, 'verify': True, 'cert': None}
           │    │    └ <PreparedRequest [GET]>
           │    └ <function Session.send at 0xb45bcde8>
           └ <flexget.utils.requests.Session object at 0xaf956cb0>
  File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 745, in send
    r.content
    │ └ <property object at 0xb45b9910>
    └ <Response [200]>
  File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 899, in content
    self._content = b"".join(self.iter_content(CONTENT_CHUNK_SIZE)) or b""
    │    │                   │    │            └ 10240
    │    │                   │    └ <function Response.iter_content at 0xb45bc078>
    │    │                   └ <Response [200]>
    │    └ False
    └ <Response [200]>

MemoryError
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/flexget/task.py", line 547, in __run_plugin
    result = method(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/flexget/event.py", line 20, in __call__
    return self.func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/flexget/plugins/output/download.py", line 88, in on_task_download
    self.get_temp_files(
  File "/usr/local/lib/python3.11/site-packages/flexget/plugins/output/download.py", line 196, in get_temp_files
    self.get_temp_file(task, entry, require_path, handle_magnets, fail_html, tmp_path)
  File "/usr/local/lib/python3.11/site-packages/flexget/plugins/output/download.py", line 138, in get_temp_file
    error = self.process_entry(task, entry, url, tmp_path)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/flexget/plugins/output/download.py", line 216, in process_entry
    self.download_entry(task, entry, url, tmp_path)
  File "/usr/local/lib/python3.11/site-packages/flexget/plugins/output/download.py", line 264, in download_entry
    response = task.requests.get(url, auth=auth, raise_status=False, headers=headers)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 600, in get
    return self.request("GET", url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/flexget/utils/requests.py", line 267, in request
    result = super().request(method, url, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 745, in send
    r.content
  File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 899, in content
    self._content = b"".join(self.iter_content(CONTENT_CHUNK_SIZE)) or b""
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
MemoryError
```
</details>

### Additional information:

- FlexGet version: 3.6.7
- Python version: 3.11.3
- Installation method: docker container
- Using daemon (yes/no): yes
- OS and version: Raspbian GNU/Linux 10 (buster)
- Link to crash log:

<!---
In config and debug/crash logs, remember to redact any personal or sensitive information such as passwords, API keys, private URLs and so on.

Please verify that the following data is present before submitting your issue:

- Link to a paste service or paste above the relevant config (preferably full config, including templates if present). Please make sure the paste does not expire, if possible.
- Link to a paste service or paste above debug-level logs of the relevant task/s (use `flexget -L debug execute --tasks <Task_name>`).
- FlexGet version (use `flexget -V` to get it).
- Full Python version, for example `2.7.11` (use `python -V` to get it). 
- Installation method (pip, git install, etc).
- Whether or not you're running FlexGet as a daemon.
- OS and version.
- Attach crash log if one was generated, in addition to the debug-level log. It can be found in the directory with your config file.
--->



Discussion:

Resolving patch:
diff --git a/flexget/components/managed_lists/lists/radarr_list.py b/flexget/components/managed_lists/lists/radarr_list.py
--- a/flexget/components/managed_lists/lists/radarr_list.py
+++ b/flexget/components/managed_lists/lists/radarr_list.py
@@ -1,4 +1,3 @@
-import json
 from collections.abc import MutableSet
 from urllib.parse import quote, urlparse
 
@@ -75,7 +74,7 @@ def request_delete_json(url, headers):
 def request_post_json(url, headers, data):
     """Makes a POST request and returns the JSON response"""
     try:
-        response = requests.post(url, headers=headers, data=data, timeout=10)
+        response = requests.post(url, headers=headers, json=data, timeout=10)
         if response.status_code == 201:
             return response.json()
         else:
@@ -123,7 +122,7 @@ def __init__(self, api_key, base_url, port=None):
         if parsed_base_url.port:
             port = int(parsed_base_url.port)
 
-        self.api_url = "{}://{}:{}{}/api/".format(
+        self.api_url = "{}://{}:{}{}/api/v3/".format(
             parsed_base_url.scheme,
             parsed_base_url.netloc,
             port,
@@ -132,7 +131,7 @@ def __init__(self, api_key, base_url, port=None):
 
     def get_profiles(self):
         """Gets all profiles"""
-        request_url = self.api_url + "profile"
+        request_url = self.api_url + "qualityProfile"
         headers = self._default_headers()
         return request_get_json(request_url, headers)
 
@@ -147,7 +146,7 @@ def add_tag(self, label):
         request_url = self.api_url + "tag"
         headers = self._default_headers()
         data = {"label": label}
-        return request_post_json(request_url, headers, json.dumps(data))
+        return request_post_json(request_url, headers, data)
 
     def get_movies(self):
         """Gets all movies"""
@@ -220,7 +219,7 @@ def add_movie(
             data["addOptions"] = add_options
 
         try:
-            json_response = request_post_json(request_url, headers, json.dumps(data))
+            json_response = request_post_json(request_url, headers, data)
         except RadarrRequestError as ex:
             spec_ex = spec_exception_from_response_ex(ex)
             if spec_ex:
@@ -528,7 +527,7 @@ def _get_movie_entries(self):
 
             # Check if we should add quality requirement
             if self.config.get("include_data"):
-                movie_profile_id = movie["profileId"]
+                movie_profile_id = movie["qualityProfileId"]
                 for profile in profiles:
                     profile_id = profile["id"]
                     if profile_id == movie_profile_id:
diff --git a/flexget/components/managed_lists/lists/sonarr_list.py b/flexget/components/managed_lists/lists/sonarr_list.py
--- a/flexget/components/managed_lists/lists/sonarr_list.py
+++ b/flexget/components/managed_lists/lists/sonarr_list.py
@@ -12,7 +12,7 @@
 
 SERIES_ENDPOINT = 'series'
 LOOKUP_ENDPOINT = 'series/lookup'
-PROFILE_ENDPOINT = 'profile'
+PROFILE_ENDPOINT = 'qualityProfile'
 ROOTFOLDER_ENDPOINT = 'Rootfolder'
 DELETE_ENDPOINT = 'series/{}'
 
@@ -36,6 +36,7 @@ class SonarrSet(MutableSet):
             'ignore_episodes_without_files': {'type': 'boolean', 'default': False},
             'ignore_episodes_with_files': {'type': 'boolean', 'default': False},
             'profile_id': {'type': 'integer', 'default': 1},
+            'language_id': {'type': 'integer', 'default': 1},
             'season_folder': {'type': 'boolean', 'default': False},
             'monitored': {'type': 'boolean', 'default': True},
             'root_folder_path': {'type': 'string'},
@@ -61,7 +62,7 @@ def _sonarr_request(self, endpoint, term=None, method='get', data=None):
         base_url = self.config['base_url']
         port = self.config['port']
         base_path = self.config['base_path']
-        url = f'{base_url}:{port}{base_path}/api/{endpoint}'
+        url = f'{base_url}:{port}{base_path}/api/v3/{endpoint}'
         headers = {'X-Api-Key': self.config['api_key']}
         if term:
             url += f'?term={term}'
@@ -147,7 +148,7 @@ def list_entries(self, filters=True):
                 # Checks if to retrieve ended shows
                 if show['status'] == 'ended' and not self.config.get('include_ended'):
                     continue
-            profile = profiles_dict.get(show['profileId'])
+            profile = profiles_dict.get(show['qualityProfileId'])
             if profile:
                 fg_qualities, fg_cutoff = self.quality_requirement_builder(profile)
 
@@ -207,6 +208,7 @@ def add_show(self, entry):
         # Setting defaults for Sonarr
         show['profileId'] = self.config.get('profile_id')
         show['qualityProfileId'] = self.config.get('profile_id')
+        show['languageProfileId'] = self.config.get('language_id')
         show['seasonFolder'] = self.config.get('season_folder')
         show['monitored'] = self.config.get('monitored')
         show['seriesType'] = self.config.get('series_type')


Test patch:
diff --git a/flexget/tests/cassettes/test_radarr_list.TestRadarrListActions.test_radarr_list_actions b/flexget/tests/cassettes/test_radarr_list.TestRadarrListActions.test_radarr_list_actions
--- a/flexget/tests/cassettes/test_radarr_list.TestRadarrListActions.test_radarr_list_actions
+++ b/flexget/tests/cassettes/test_radarr_list.TestRadarrListActions.test_radarr_list_actions
@@ -13,7 +13,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/profile
+      uri: http://127.0.0.1:7878/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
@@ -79,7 +79,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -139,7 +139,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: DELETE
-      uri: http://127.0.0.1:7878/api/movie/16
+      uri: http://127.0.0.1:7878/api/v3/movie/16
     response:
       body:
         string: !!binary |
@@ -182,7 +182,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/profile
+      uri: http://127.0.0.1:7878/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
@@ -248,7 +248,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -291,7 +291,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie/lookup/imdb?imdbId=tt1690953
+      uri: http://127.0.0.1:7878/api/v3/movie/lookup/imdb?imdbId=tt1690953
     response:
       body:
         string: !!binary |
@@ -350,7 +350,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/rootfolder
+      uri: http://127.0.0.1:7878/api/v3/rootfolder
     response:
       body:
         string: !!binary |
@@ -395,7 +395,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/tag
+      uri: http://127.0.0.1:7878/api/v3/tag
     response:
       body:
         string: !!binary |
@@ -444,7 +444,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: POST
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -500,7 +500,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie/lookup/imdb?imdbId=tt2752772
+      uri: http://127.0.0.1:7878/api/v3/movie/lookup/imdb?imdbId=tt2752772
     response:
       body:
         string: !!binary |
@@ -556,7 +556,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/rootfolder
+      uri: http://127.0.0.1:7878/api/v3/rootfolder
     response:
       body:
         string: !!binary |
@@ -606,7 +606,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: POST
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -661,7 +661,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie/lookup/imdb?imdbId=tt2554274
+      uri: http://127.0.0.1:7878/api/v3/movie/lookup/imdb?imdbId=tt2554274
     response:
       body:
         string: !!binary |
@@ -722,7 +722,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/rootfolder
+      uri: http://127.0.0.1:7878/api/v3/rootfolder
     response:
       body:
         string: !!binary |
@@ -772,7 +772,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: POST
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -829,7 +829,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie/lookup/imdb?imdbId=tt1431045
+      uri: http://127.0.0.1:7878/api/v3/movie/lookup/imdb?imdbId=tt1431045
     response:
       body:
         string: !!binary |
@@ -888,7 +888,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/rootfolder
+      uri: http://127.0.0.1:7878/api/v3/rootfolder
     response:
       body:
         string: !!binary |
@@ -938,7 +938,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: POST
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -996,7 +996,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/profile
+      uri: http://127.0.0.1:7878/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
@@ -1062,7 +1062,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -1151,7 +1151,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/profile
+      uri: http://127.0.0.1:7878/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
@@ -1217,7 +1217,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -1308,7 +1308,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: DELETE
-      uri: http://127.0.0.1:7878/api/movie/18
+      uri: http://127.0.0.1:7878/api/v3/movie/18
     response:
       body:
         string: !!binary |
@@ -1351,7 +1351,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/profile
+      uri: http://127.0.0.1:7878/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
@@ -1417,7 +1417,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -1500,7 +1500,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/profile
+      uri: http://127.0.0.1:7878/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
@@ -1566,7 +1566,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -1649,7 +1649,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/profile
+      uri: http://127.0.0.1:7878/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
@@ -1715,7 +1715,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -1800,7 +1800,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: DELETE
-      uri: http://127.0.0.1:7878/api/movie/17
+      uri: http://127.0.0.1:7878/api/v3/movie/17
     response:
       body:
         string: !!binary |
@@ -1843,7 +1843,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/profile
+      uri: http://127.0.0.1:7878/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
@@ -1909,7 +1909,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -1984,7 +1984,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: DELETE
-      uri: http://127.0.0.1:7878/api/movie/19
+      uri: http://127.0.0.1:7878/api/v3/movie/19
     response:
       body:
         string: !!binary |
@@ -2027,7 +2027,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/profile
+      uri: http://127.0.0.1:7878/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
@@ -2093,7 +2093,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -2153,7 +2153,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: DELETE
-      uri: http://127.0.0.1:7878/api/movie/20
+      uri: http://127.0.0.1:7878/api/v3/movie/20
     response:
       body:
         string: !!binary |
@@ -2196,7 +2196,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/profile
+      uri: http://127.0.0.1:7878/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
@@ -2262,7 +2262,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
diff --git a/flexget/tests/cassettes/test_radarr_list.TestRadarrListActions.test_radarr_list_tags b/flexget/tests/cassettes/test_radarr_list.TestRadarrListActions.test_radarr_list_tags
--- a/flexget/tests/cassettes/test_radarr_list.TestRadarrListActions.test_radarr_list_tags
+++ b/flexget/tests/cassettes/test_radarr_list.TestRadarrListActions.test_radarr_list_tags
@@ -15,7 +15,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: POST
-      uri: http://127.0.0.1:7878/api/tag
+      uri: http://127.0.0.1:7878/api/v3/tag
     response:
       body:
         string: !!binary |
@@ -59,7 +59,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/profile
+      uri: http://127.0.0.1:7878/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
@@ -125,7 +125,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -168,7 +168,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie/lookup/imdb?imdbId=tt1431045
+      uri: http://127.0.0.1:7878/api/v3/movie/lookup/imdb?imdbId=tt1431045
     response:
       body:
         string: !!binary |
@@ -227,7 +227,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/rootfolder
+      uri: http://127.0.0.1:7878/api/v3/rootfolder
     response:
       body:
         string: !!binary |
@@ -272,7 +272,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/tag
+      uri: http://127.0.0.1:7878/api/v3/tag
     response:
       body:
         string: !!binary |
@@ -322,7 +322,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: POST
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
@@ -380,7 +380,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/tag
+      uri: http://127.0.0.1:7878/api/v3/tag
     response:
       body:
         string: !!binary |
@@ -424,7 +424,7 @@ interactions:
         X-Api-Key:
           - 65e246ce581a426781e1a8645f0a1f2c
       method: GET
-      uri: http://127.0.0.1:7878/api/movie
+      uri: http://127.0.0.1:7878/api/v3/movie
     response:
       body:
         string: !!binary |
diff --git a/flexget/tests/cassettes/test_sonarr_list.TestSonarrListActions.test_sonarr_list_actions b/flexget/tests/cassettes/test_sonarr_list.TestSonarrListActions.test_sonarr_list_actions
--- a/flexget/tests/cassettes/test_sonarr_list.TestSonarrListActions.test_sonarr_list_actions
+++ b/flexget/tests/cassettes/test_sonarr_list.TestSonarrListActions.test_sonarr_list_actions
@@ -13,7 +13,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -78,7 +78,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: DELETE
-      uri: http://127.0.0.1:8989/api/series/23
+      uri: http://127.0.0.1:8989/api/v3/series/23
     response:
       body:
         string: !!binary |
@@ -127,7 +127,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: DELETE
-      uri: http://127.0.0.1:8989/api/series/23
+      uri: http://127.0.0.1:8989/api/v3/series/23
     response:
       body:
         string: "{\n  \"message\": \"Series with ID 23 does not exist\",\n  \"description\"\
@@ -190,7 +190,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -237,7 +237,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series/lookup?term=tvdb:81189
+      uri: http://127.0.0.1:8989/api/v3/series/lookup?term=tvdb:81189
     response:
       body:
         string: !!binary |
@@ -297,7 +297,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/Rootfolder
+      uri: http://127.0.0.1:8989/api/v3/Rootfolder
     response:
       body:
         string: !!binary |
@@ -346,7 +346,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/tag
+      uri: http://127.0.0.1:8989/api/v3/tag
     response:
       body:
         string: !!binary |
@@ -418,7 +418,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: POST
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -480,7 +480,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -542,7 +542,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series/lookup?term=tvdb:153021
+      uri: http://127.0.0.1:8989/api/v3/series/lookup?term=tvdb:153021
     response:
       body:
         string: !!binary |
@@ -602,7 +602,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/Rootfolder
+      uri: http://127.0.0.1:8989/api/v3/Rootfolder
     response:
       body:
         string: !!binary |
@@ -677,7 +677,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: POST
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -739,7 +739,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -812,7 +812,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series/lookup?term=tvdb:121361
+      uri: http://127.0.0.1:8989/api/v3/series/lookup?term=tvdb:121361
     response:
       body:
         string: !!binary |
@@ -873,7 +873,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/Rootfolder
+      uri: http://127.0.0.1:8989/api/v3/Rootfolder
     response:
       body:
         string: !!binary |
@@ -948,7 +948,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: POST
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -1011,7 +1011,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -1094,7 +1094,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/profile
+      uri: http://127.0.0.1:8989/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
@@ -1156,7 +1156,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -1241,7 +1241,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: DELETE
-      uri: http://127.0.0.1:8989/api/series/24
+      uri: http://127.0.0.1:8989/api/v3/series/24
     response:
       body:
         string: !!binary |
@@ -1288,7 +1288,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -1363,7 +1363,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/profile
+      uri: http://127.0.0.1:8989/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
@@ -1425,7 +1425,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -1500,7 +1500,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -1577,7 +1577,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: DELETE
-      uri: http://127.0.0.1:8989/api/series/26
+      uri: http://127.0.0.1:8989/api/v3/series/26
     response:
       body:
         string: !!binary |
@@ -1626,7 +1626,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: DELETE
-      uri: http://127.0.0.1:8989/api/series/25
+      uri: http://127.0.0.1:8989/api/v3/series/25
     response:
       body:
         string: !!binary |
@@ -1673,7 +1673,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -1720,7 +1720,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/profile
+      uri: http://127.0.0.1:8989/api/v3/qualityProfile
     response:
       body:
         string: !!binary |
diff --git a/flexget/tests/cassettes/test_sonarr_list.TestSonarrListActions.test_sonarr_list_tags b/flexget/tests/cassettes/test_sonarr_list.TestSonarrListActions.test_sonarr_list_tags
--- a/flexget/tests/cassettes/test_sonarr_list.TestSonarrListActions.test_sonarr_list_tags
+++ b/flexget/tests/cassettes/test_sonarr_list.TestSonarrListActions.test_sonarr_list_tags
@@ -17,7 +17,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: POST
-      uri: http://127.0.0.1:8989/api/tag
+      uri: http://127.0.0.1:8989/api/v3/tag
     response:
       body:
         string: !!binary |
@@ -64,7 +64,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -111,7 +111,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -158,7 +158,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series/lookup?term=tvdb:121361
+      uri: http://127.0.0.1:8989/api/v3/series/lookup?term=tvdb:121361
     response:
       body:
         string: !!binary |
@@ -219,7 +219,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/Rootfolder
+      uri: http://127.0.0.1:8989/api/v3/Rootfolder
     response:
       body:
         string: !!binary |
@@ -268,7 +268,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/tag
+      uri: http://127.0.0.1:8989/api/v3/tag
     response:
       body:
         string: !!binary |
@@ -342,7 +342,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: POST
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |
@@ -405,7 +405,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/tag
+      uri: http://127.0.0.1:8989/api/v3/tag
     response:
       body:
         string: !!binary |
@@ -453,7 +453,7 @@ interactions:
         X-Api-Key:
           - 7f0a2ce32a3e43c8a7389e9539c487b4
       method: GET
-      uri: http://127.0.0.1:8989/api/series
+      uri: http://127.0.0.1:8989/api/v3/series
     response:
       body:
         string: !!binary |