diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index d61ea0c..a0516c3 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/vscode/devcontainers/python:0-3.9 +FROM mcr.microsoft.com/vscode/devcontainers/python:3.9-bookworm # install test requirements COPY requirements*.txt /tmp/pip-tmp/ diff --git a/README.md b/README.md index 8cea223..17f7d27 100644 --- a/README.md +++ b/README.md @@ -379,6 +379,86 @@ if __name__ == "__main__": asyncio.run(main()) ``` +## Virtual Machine Manager usage + +### Show information about all existing guests + +```python +import asyncio +import aiohttp +from synology_dsm import SynologyDSM + + +async def main(): + print("Creating Valid API") + async with aiohttp.ClientSession( + connector=aiohttp.TCPConnector(verify_ssl=False) + ) as session: + await do(session) + + +async def do(session: aiohttp.ClientSession): + api = SynologyDSM(session, "", "", "", "") + await api.login() + + await api.virtual_machine_manager.update() + + guests = api.virtual_machine_manager.get_all_guests() + + for guest in guests: + print(f"############### {guest.name} ###############") + print(f"autorun: {guest.autorun}") + print(f"description: {guest.description}") + print(f"guest_id: {guest.guest_id}") + print(f"status: {guest.status}") + print(f"vcpu_num: {guest.vcpu_num}") + print(f"vram_size: {guest.vram_size / 1024} MiBytes") + print(f"host_cpu_usage: {guest.host_cpu_usage / 10} %") + print(f"host_ram_usage: {round(guest.host_ram_usage / 1024,1)} MiBytes") + + +if __name__ == "__main__": + asyncio.run(main()) +``` + +### Perform power actions on guests + +```python +import asyncio +import aiohttp +from synology_dsm import SynologyDSM + + +async def main(): + print("Creating Valid API") + async with aiohttp.ClientSession( + connector=aiohttp.TCPConnector(verify_ssl=False) + ) as session: + await do(session) + + +async def do(session: aiohttp.ClientSession): + api = SynologyDSM(session, "", "", "", "") + await api.login() + + await api.virtual_machine_manager.update() + + # start a guest + await api.virtual_machine_manager.guest_poweron("{guest.guest_id}") + + # power off a guest + await api.virtual_machine_manager.guest_poweroff("{guest.guest_id}") + + # graceful shutdown a guest (needs working guest-agent, else it is not graceful) + await api.virtual_machine_manager.guest_shutdown("{guest.guest_id}") + + # graceful restart a guest (needs working guest-agent, else it is not graceful) + await api.virtual_machine_manager.guest_restart("{guest.guest_id}") + +if __name__ == "__main__": + asyncio.run(main()) +``` + # Credits / Special Thanks - [@florianeinfalt](https://github.com/florianeinfalt) diff --git a/src/synology_dsm/api/virtual_machine_manager/__init__.py b/src/synology_dsm/api/virtual_machine_manager/__init__.py new file mode 100644 index 0000000..9581a42 --- /dev/null +++ b/src/synology_dsm/api/virtual_machine_manager/__init__.py @@ -0,0 +1,68 @@ +"""Synology Virtual Machine Manager API models.""" + +from __future__ import annotations + +from synology_dsm.api import SynoBaseApi + +from .guest import SynoVmmGuest + + +class SynoVirtualMachineManager(SynoBaseApi["dict[str, SynoVmmGuest]"]): + """Class containing Virtual Machine Guests.""" + + API_KEY = "SYNO.Virtualization.*" + GUEST_API_KEY = "SYNO.Virtualization.Guest" + ACTION_API_KEY = "SYNO.Virtualization.Guest.Action" + + async def update(self) -> None: + """Updates Virtual Machine Manager data.""" + raw_data = await self._dsm.get(self.GUEST_API_KEY, "list") + print(raw_data) + if not isinstance(raw_data, dict) or (data := raw_data.get("data")) is None: + return + + for guest in data["guests"]: + if guest["guest_id"] in self._data: + self._data[guest["guest_id"]].update(guest) + else: + self._data[guest["guest_id"]] = SynoVmmGuest(guest) + + def get_all_guests(self) -> list[SynoVmmGuest]: + """Return a list of all vmm guests.""" + return list(self._data.values()) + + def get_guest(self, guest_id: str) -> SynoVmmGuest | None: + """Return vmm guest by guest_id.""" + return self._data.get(guest_id) + + async def _guest_action(self, guest_id: str, action: str) -> bool | None: + raw_data = await self._dsm.post( + self.ACTION_API_KEY, + "pwr_ctl", + { + "guest_id": guest_id, + "action": action, + }, + ) + if ( + isinstance(raw_data, dict) + and (result := raw_data.get("success")) is not None + ): + return bool(result) + return None + + async def guest_poweron(self, guest_id: str) -> bool | None: + """Power on a vmm guest.""" + return await self._guest_action(guest_id, "poweron") + + async def guest_poweroff(self, guest_id: str) -> bool | None: + """Power off a vmm guest.""" + return await self._guest_action(guest_id, "poweroff") + + async def guest_shutdown(self, guest_id: str) -> bool | None: + """Graceful shutdown a vmm guest.""" + return await self._guest_action(guest_id, "shutdown") + + async def guest_restart(self, guest_id: str) -> bool | None: + """Graceful restart a vmm guest.""" + return await self._guest_action(guest_id, "reboot") diff --git a/src/synology_dsm/api/virtual_machine_manager/guest.py b/src/synology_dsm/api/virtual_machine_manager/guest.py new file mode 100644 index 0000000..086850c --- /dev/null +++ b/src/synology_dsm/api/virtual_machine_manager/guest.py @@ -0,0 +1,80 @@ +"""VirtualMachineManager guest.""" + +from __future__ import annotations + +from typing import TypedDict, Union + +SynoVmmGuestData = TypedDict( + "SynoVmmGuestData", + { + "autorun": int, + "desc": str, + "guest_id": str, + "name": str, + "ram_used": int, + "status": str, + "vcpu_num": int, + "vcpu_usage": Union[str, int], # empty str when offline + "vram_size": int, + }, + total=False, +) + + +class SynoVmmGuest: + """An representation of a Synology Virtual Machine Manager guest.""" + + def __init__(self, data: SynoVmmGuestData) -> None: + """Initialize a Virtual Machine Manager guest.""" + self._data: SynoVmmGuestData = data + + def update(self, data: SynoVmmGuestData) -> None: + """Update the vmm guest.""" + self._data = data + + @property + def autorun(self) -> bool: + """Return autorun of the vmm guest.""" + return bool(self._data["autorun"]) + + @property + def description(self) -> str: + """Return description of the vmm guest.""" + return self._data["desc"] + + @property + def guest_id(self) -> str: + """Return guest_id of the vmm guest.""" + return self._data["guest_id"] + + @property + def name(self) -> str: + """Return name of the vmm guest.""" + return self._data["name"] + + @property + def status(self) -> str: + """Return status of the vmm guest.""" + return self._data["status"] + + @property + def host_cpu_usage(self) -> int: + """Return host cpu usage in one thousandth of the vmm guest.""" + if isinstance(self._data["vcpu_usage"], str): + return 0 + return self._data["vcpu_usage"] + + @property + def host_ram_usage(self) -> int: + """Return host ram usage in KiByte of the vmm guest.""" + return self._data["ram_used"] + + @property + def vcpu_num(self) -> int: + """Return number of vcpu of the vmm guest.""" + return self._data["vcpu_num"] + + @property + def vram_size(self) -> int: + """Return size of vram in KiByte of the vmm guest.""" + return self._data["vram_size"] diff --git a/src/synology_dsm/const.py b/src/synology_dsm/const.py index 476c819..625b064 100644 --- a/src/synology_dsm/const.py +++ b/src/synology_dsm/const.py @@ -155,15 +155,16 @@ 900: "The storage is in invalid", 901: "Failed to set a host to a virtual machine", 902: "The virtual machine does not have a host", - 903: "Failed to power on a virtual machine due to insufficient CPU threads", - 904: "Failed to power on a virtual machine due to insufficient memory", - 905: "The status of virtual machine is online", + 903: "Can't shutdown the guest, it is not running", + 904: "Can't power off the guest, it is not running", + 905: "Can't restart the guest, it is not running", 906: "MAC conflict", 907: "Failed to create virtual machine because the selected image is not found", 908: "The status of virtual machine is offline", 909: "Failed to power on a virtual machine due to insufficient CPU threads for reservation on the host", # pylint: disable=line-too-long 910: "Failed to power on the virtual machine because there is no corresponding networking on the host", # pylint: disable=line-too-long 911: "Only the VirtIO hard disk controller can be used to boot the virtual machine remotely. Virtual machines with UEFI enabled cannot be powered on remotely", # pylint: disable=line-too-long + 939: "Guest already running", 1000: "Cannot find task_id", 1001: "Need Virtual Machine Manager Pro", 1400: "The result of image creating is partial success", diff --git a/src/synology_dsm/synology_dsm.py b/src/synology_dsm/synology_dsm.py index adc1e7f..12819a8 100644 --- a/src/synology_dsm/synology_dsm.py +++ b/src/synology_dsm/synology_dsm.py @@ -26,6 +26,7 @@ from .api.photos import SynoPhotos from .api.storage.storage import SynoStorage from .api.surveillance_station import SynoSurveillanceStation +from .api.virtual_machine_manager import SynoVirtualMachineManager from .const import API_AUTH, API_INFO, SENSITIV_PARAMS from .exceptions import ( SynologyDSMAPIErrorException, @@ -104,6 +105,7 @@ def __init__( self._system: SynoCoreSystem | None = None self._utilisation: SynoCoreUtilization | None = None self._upgrade: SynoCoreUpgrade | None = None + self._vmm: SynoVirtualMachineManager | None = None try: IPv6Address(dsm_ip) @@ -437,6 +439,9 @@ async def update( if self._upgrade: update_methods.append(self._upgrade.update()) + if self._vmm: + update_methods.append(self._vmm.update()) + await asyncio.gather(*update_methods) def reset(self, api: SynoBaseApi | str) -> bool: @@ -477,6 +482,9 @@ def reset(self, api: SynoBaseApi | str) -> bool: if api == SynoSurveillanceStation.API_KEY: self._surveillance = None return True + if api == SynoVirtualMachineManager.API_KEY: + self._vmm = None + return True if isinstance(api, SynoCoreExternalUSB): self._external_usb = None return True @@ -507,6 +515,9 @@ def reset(self, api: SynoBaseApi | str) -> bool: if isinstance(api, SynoSurveillanceStation): self._surveillance = None return True + if isinstance(api, SynoVirtualMachineManager): + self._vmm = None + return True return False @property @@ -592,3 +603,10 @@ def utilisation(self) -> SynoCoreUtilization: if not self._utilisation: self._utilisation = SynoCoreUtilization(self) return self._utilisation + + @property + def virtual_machine_manager(self) -> SynoVirtualMachineManager: + """Gets NAS virtual machine manager informations.""" + if not self._vmm: + self._vmm = SynoVirtualMachineManager(self) + return self._vmm diff --git a/tests/__init__.py b/tests/__init__.py index a7328e3..3bbd76c 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -18,6 +18,7 @@ from synology_dsm.api.photos import SynoPhotos from synology_dsm.api.storage.storage import SynoStorage from synology_dsm.api.surveillance_station import SynoSurveillanceStation +from synology_dsm.api.virtual_machine_manager import SynoVirtualMachineManager from synology_dsm.const import API_AUTH, API_INFO from synology_dsm.exceptions import SynologyDSMRequestException @@ -74,6 +75,7 @@ DSM_7_FOTO_ITEMS_SEARCHED, DSM_7_FOTO_ITEMS_SHARED_ALBUM, DSM_7_FOTO_SHARED_ITEMS, + DSM_7_VMM_GUESTS, ) from .const import ( DEVICE_TOKEN, @@ -124,6 +126,7 @@ "DSM_INFORMATION": DSM_7_DSM_INFORMATION, "FOTO_ALBUMS": DSM_7_FOTO_ALBUMS, "FOTO_ITEMS": DSM_7_FOTO_ITEMS, + "VMM_GUESTS": DSM_7_VMM_GUESTS, }, } @@ -297,6 +300,9 @@ async def _execute_request(self, method, url, params, **kwargs): if SynoPhotos.BROWSE_ITEM_FOTOTEAM_API_KEY in url: return DSM_7_FOTO_SHARED_ITEMS + if SynoVirtualMachineManager.GUEST_API_KEY in url: + return DSM_7_VMM_GUESTS + if SynoStorage.API_KEY in url: return API_SWITCHER[self.dsm_version]["STORAGE_STORAGE"][ self.disks_redundancy diff --git a/tests/api_data/dsm_7/__init__.py b/tests/api_data/dsm_7/__init__.py index 5d2770d..d304062 100644 --- a/tests/api_data/dsm_7/__init__.py +++ b/tests/api_data/dsm_7/__init__.py @@ -18,6 +18,7 @@ DSM_7_FOTO_ITEMS_SHARED_ALBUM, DSM_7_FOTO_SHARED_ITEMS, ) +from .virtual_machine_manager.const_7_vmm import DSM_7_VMM_GUESTS __all__ = [ "DSM_7_AUTH_LOGIN", @@ -33,4 +34,5 @@ "DSM_7_FOTO_ITEMS_SHARED_ALBUM", "DSM_7_FOTO_ITEMS_SEARCHED", "DSM_7_FOTO_SHARED_ITEMS", + "DSM_7_VMM_GUESTS", ] diff --git a/tests/api_data/dsm_7/const_7_api_info.py b/tests/api_data/dsm_7/const_7_api_info.py index fda4b19..d9bda00 100644 --- a/tests/api_data/dsm_7/const_7_api_info.py +++ b/tests/api_data/dsm_7/const_7_api_info.py @@ -2,6 +2,30 @@ DSM_7_API_INFO = { "data": { + "SYNO.AME.Config": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.AME.License": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.AME.Pack": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.AME.Payment": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, "SYNO.API.Auth": {"maxVersion": 7, "minVersion": 1, "path": "entry.cgi"}, "SYNO.API.Auth.Key": { "maxVersion": 7, @@ -15,6 +39,12 @@ "path": "entry.cgi", "requestFormat": "JSON", }, + "SYNO.API.Auth.RedirectURI": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, "SYNO.API.Auth.Type": { "maxVersion": 1, "minVersion": 1, @@ -40,3313 +70,6372 @@ "requestFormat": "JSON", }, "SYNO.API.OTP": {"maxVersion": 1, "minVersion": 1, "path": "otp.cgi"}, - "SYNO.AudioPlayer": { + "SYNO.ActiveBackup.Activation": { "maxVersion": 2, - "minVersion": 2, + "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.AudioPlayer.Stream": { + "SYNO.ActiveBackup.Agent": { "maxVersion": 2, - "minVersion": 2, + "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Backup.App": { - "maxVersion": 1, + "SYNO.ActiveBackup.Agent.Device": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Backup.App.Backup": { - "maxVersion": 1, + "SYNO.ActiveBackup.Agentless": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Backup.App.Restore": { - "maxVersion": 1, + "SYNO.ActiveBackup.Delegation": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Backup.Config.AutoBackup": { + "SYNO.ActiveBackup.Device": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Backup.Config.Backup": { + "SYNO.ActiveBackup.Inventory": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Backup.Config.Restore": { + "SYNO.ActiveBackup.Log": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Backup.Service.NetworkBackup": { - "maxVersion": 1, + "SYNO.ActiveBackup.NFSPrivilege": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ACL": { + "SYNO.ActiveBackup.Overview": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ActionPriv": { - "maxVersion": 1, + "SYNO.ActiveBackup.Report": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ActionPriv.Role": { - "maxVersion": 1, + "SYNO.ActiveBackup.ReportConfig": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.AppNotify": { - "maxVersion": 1, + "SYNO.ActiveBackup.ReportGet": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.AppPortal": { + "SYNO.ActiveBackup.Restore": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.AppPortal.AccessControl": { - "maxVersion": 1, + "SYNO.ActiveBackup.RestoreVM": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.AppPortal.Config": { - "maxVersion": 1, + "SYNO.ActiveBackup.Setting": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.AppPortal.ReverseProxy": { - "maxVersion": 1, + "SYNO.ActiveBackup.Share": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.AppPriv": { + "SYNO.ActiveBackup.Storage": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.AppPriv.App": { - "maxVersion": 3, + "SYNO.ActiveBackup.Task": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.AppPriv.Rule": { - "maxVersion": 1, + "SYNO.ActiveBackup.TaskTemplate": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.BandwidthControl": { + "SYNO.ActiveBackup.UserGroup": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.BandwidthControl.Protocol": { - "maxVersion": 1, + "SYNO.ActiveBackup.Version": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.BandwidthControl.Status": { - "maxVersion": 1, + "SYNO.ActiveBackup.Wrapper.Domain": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.CMS": { + "SYNO.ActiveBackup.Wrapper.LDAP": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.CMS.Cache": { + "SYNO.ActiveBackup.Wrapper.NFS": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.CMS.Info": { - "maxVersion": 1, + "SYNO.ActiveBackup.Wrapper.NFSPrivilege": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.CMS.Policy": { - "maxVersion": 1, + "SYNO.ActiveInsight.CompleteCollection": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.CMS.ServerInfo": { + "SYNO.ActiveInsight.License": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.CMS.Task": { - "maxVersion": 1, + "SYNO.ActiveInsight.Package": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.CMS.Token": { - "maxVersion": 1, + "SYNO.ActiveInsight.Setting": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Certificate": { - "maxVersion": 1, + "SYNO.AddressBook.Contact": { + "maxVersion": 4, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Certificate.CRT": { + "SYNO.AddressBook.ContactGroup": { + "maxVersion": 4, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.AddressBook.Info": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Certificate.CSR": { + "SYNO.AudioPlayer": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.AudioPlayer.Stream": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Auth.ForgotPwd": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Certificate.LetsEncrypt": { + "SYNO.Auth.RescueEmail": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Certificate.LetsEncrypt.Account": { + "SYNO.Backup.App": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Certificate.Service": { + "SYNO.Backup.App.Backup": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.CurrentConnection": { + "SYNO.Backup.App.Restore": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DDNS.ExtIP": { + "SYNO.Backup.App2.Backup": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DDNS.Provider": { - "maxVersion": 1, + "SYNO.Backup.App2.Restore": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DDNS.Record": { - "maxVersion": 1, + "SYNO.Backup.Config.AutoBackup": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DDNS.Synology": { - "maxVersion": 1, + "SYNO.Backup.Config.Backup": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DDNS.TWNIC": { - "maxVersion": 1, + "SYNO.Backup.Config.Restore": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DSMNotify": { - "maxVersion": 1, + "SYNO.Backup.Lunbackup": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DSMNotify.MailContent": { - "maxVersion": 1, + "SYNO.Backup.Repository": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DSMNotify.Strings": { - "maxVersion": 1, + "SYNO.Backup.Repository.Certificate": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DataCollect": { - "maxVersion": 1, + "SYNO.Backup.Repository.LoginPort": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DataCollect.Application": { - "maxVersion": 1, + "SYNO.Backup.Restore": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Desktop.Defs": { + "SYNO.Backup.Service.NetworkBackup": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Desktop.Initdata": { - "maxVersion": 1, + "SYNO.Backup.Service.VersionBackup.Config": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Desktop.JSUIString": { - "maxVersion": 1, + "SYNO.Backup.Service.VersionBackup.Target": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Desktop.SessionData": { - "maxVersion": 1, + "SYNO.Backup.Service.VersionBackup.Version": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Desktop.Timeout": { - "maxVersion": 1, + "SYNO.Backup.Service.VersionBackup.Version.History": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Desktop.UIString": { - "maxVersion": 1, + "SYNO.Backup.Share.Restore": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Desktop.Upgrade": { - "maxVersion": 1, + "SYNO.Backup.Source.Folder": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.Azure.SSO": { - "maxVersion": 1, + "SYNO.Backup.Storage.AmazonCloudDrive.Container": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.Domain": { + "SYNO.Backup.Storage.Azure.Container": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.Domain.ADHealthCheck": { - "maxVersion": 1, + "SYNO.Backup.Storage.Connect.Network": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.Domain.Conf": { + "SYNO.Backup.Storage.Dropbox.Container": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.Domain.Schedule": { - "maxVersion": 1, + "SYNO.Backup.Storage.GoogleDrive.Container": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.LDAP": { + "SYNO.Backup.Storage.HiDrive.Container": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.LDAP.BaseDN": { + "SYNO.Backup.Storage.OpenStack.Container": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.LDAP.Login.Notify": { - "maxVersion": 1, + "SYNO.Backup.Storage.OpenStack.Region": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.LDAP.Profile": { + "SYNO.Backup.Storage.S3.Bucket": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.LDAP.Refresh": { - "maxVersion": 1, + "SYNO.Backup.Storage.Share.Local": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.LDAP.User": { - "maxVersion": 1, + "SYNO.Backup.Storage.Share.Network": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.SSO": { - "maxVersion": 1, + "SYNO.Backup.Storage.Share.Rsync": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.SSO.IWA": { - "maxVersion": 1, + "SYNO.Backup.Storage.WebDAV.Container": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.SSO.Profile": { - "maxVersion": 1, + "SYNO.Backup.Storage.hubiC.Container": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.SSO.utils": { - "maxVersion": 1, + "SYNO.Backup.Target": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Directory.WebSphere.SSO": { - "maxVersion": 1, + "SYNO.Backup.Target.Config": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DirectoryServiceCheck.Common": { + "SYNO.Backup.Task": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DirectoryServiceCheck.Debug": { - "maxVersion": 1, + "SYNO.Backup.Version": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DirectoryServiceCheck.Domain": { - "maxVersion": 1, + "SYNO.Backup.Version.History": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DirectoryServiceCheck.DomainJoin": { + "SYNO.Btrfs.Replica.Core": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DirectoryServiceCheck.DomainService": { + "SYNO.C2FS.Account": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DirectoryServiceCheck.DomainValidation": { + "SYNO.C2FS.Bucket": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DirectoryServiceCheck.LDAP": { + "SYNO.C2FS.Conf": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DirectoryServiceCheck.Progress": { + "SYNO.C2FS.File": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.DisableAdmin": { + "SYNO.C2FS.Share": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.EventScheduler": { + "SYNO.C2FS.Share.Status": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Bluetooth": { - "maxVersion": 2, + "SYNO.C2FS.Snapshot": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Bluetooth.Device": { + "SYNO.C2FS.Transform": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Bluetooth.Settings": { + "SYNO.C2FS.Utils": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.DefaultPermission": { + "SYNO.CCC.CLog": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Printer": { + "SYNO.CCC.Cluster": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Printer.BonjourSharing": { - "maxVersion": 1, + "SYNO.CCC.Cluster.Member": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Printer.Driver": { + "SYNO.CCC.Guest": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Printer.Network": { + "SYNO.CCC.Guest.Image": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Printer.Network.Host": { + "SYNO.CCC.Guest.VNC": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Printer.OAuth": { + "SYNO.CCC.GuestReplica": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Printer.USB": { + "SYNO.CCC.GuestSnap": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Storage.EUnit": { + "SYNO.CCC.GuestSnap.Policy": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Storage.Setting": { + "SYNO.CCC.HA": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Storage.USB": { + "SYNO.CCC.License": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.Storage.eSATA": { + "SYNO.CCC.License.Pro": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ExternalDevice.UPS": { + "SYNO.CCC.License.VDSM": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Factory.Config": { + "SYNO.CCC.Network": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Factory.Manutild": { + "SYNO.CCC.Network.SRIOV": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.File": { - "maxVersion": 2, + "SYNO.CCC.Notify": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.File.Thumbnail": { + "SYNO.CCC.Package": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileHandle": { + "SYNO.CCC.Repo": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.AFP": { - "maxVersion": 2, + "SYNO.CCC.Resource": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.FTP": { - "maxVersion": 3, + "SYNO.CCC.Utils": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.FTP.ChrootUser": { + "SYNO.CCC.VDisk": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.CCC.VNic": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.AuthForeign": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.Cal": { + "maxVersion": 5, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.Chatbot": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.Contact": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.Event": { + "maxVersion": 5, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.InviteMail": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.InviteMailInit": { + "maxVersion": 5, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.Proxy": { + "maxVersion": 5, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.SendMail": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.Setting": { + "maxVersion": 5, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.Share.Priv": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.Sharing": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.SyncUser": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.Timezone": { + "maxVersion": 5, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.Todo": { + "maxVersion": 5, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Cal.UserAction": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Contacts.Addressbook": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Contacts.AdminSetting": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Contacts.Contact": { "maxVersion": 2, - "minVersion": 2, + "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.FTP.SFTP": { + "SYNO.Contacts.ExternalSource": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.FTP.Security": { + "SYNO.Contacts.Info": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Contacts.Label": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Contacts.OU": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.NFS": { + "SYNO.Core.ACL": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.NFS.AdvancedSetting": { + "SYNO.Core.ActionPriv": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.NFS.IDMap": { + "SYNO.Core.ActionPriv.Role": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.NFS.Kerberos": { + "SYNO.Core.AppNotify": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.NFS.SharePrivilege": { + "SYNO.Core.AppPortal": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.AppPortal.AccessControl": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.ReflinkCopy": { + "SYNO.Core.AppPortal.Config": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.Rsync.Account": { + "SYNO.Core.AppPortal.ReverseProxy": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.SMB": { + "SYNO.Core.AppPriv": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.AppPriv.App": { "maxVersion": 3, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.ServiceDiscovery": { + "SYNO.Core.AppPriv.Rule": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.FileServ.ServiceDiscovery.WSTransfer": { + "SYNO.Core.BackgroundTask": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Findhost": { + "SYNO.Core.Backup.ED": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Group": { + "SYNO.Core.BandwidthControl": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.BandwidthControl.Protocol": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Group.ExtraAdmin": { + "SYNO.Core.BandwidthControl.Status": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Group.Member": { + "SYNO.Core.CMS": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.CMS.Cache": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.CMS.Identity": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Group.ValidLocalAdmin": { + "SYNO.Core.CMS.Info": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.GroupSettings": { + "SYNO.Core.CMS.Policy": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.BeepControl": { + "SYNO.Core.CMS.ServerInfo": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.CMS.Task": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.FanSpeed": { + "SYNO.Core.CMS.Token": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.Hibernation": { + "SYNO.Core.Certificate": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.LCM": { + "SYNO.Core.Certificate.CRT": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.Led.Brightness": { + "SYNO.Core.Certificate.CSR": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.MemoryLayout": { + "SYNO.Core.Certificate.LetsEncrypt": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.NeedReboot": { + "SYNO.Core.Certificate.LetsEncrypt.Account": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.OOBManagement": { + "SYNO.Core.Certificate.Service": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.PowerRecovery": { + "SYNO.Core.Certificate.Tencent": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.PowerSchedule": { + "SYNO.Core.CurrentConnection": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.RemoteFanStatus": { + "SYNO.Core.DDNS.Ethernet": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.SpectreMeltdown": { + "SYNO.Core.DDNS.ExtIP": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.DDNS.Provider": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.VideoTranscoding": { + "SYNO.Core.DDNS.Record": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Hardware.ZRAM": { + "SYNO.Core.DDNS.Synology": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Help": { + "SYNO.Core.DDNS.TWNIC": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ISCSI.FCTarget": { + "SYNO.Core.DSMNotify": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ISCSI.Host": { + "SYNO.Core.DSMNotify.MailContent": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ISCSI.LUN": { + "SYNO.Core.DSMNotify.Strings": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ISCSI.Lunbkp": { + "SYNO.Core.DataCollect": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ISCSI.Node": { + "SYNO.Core.DataCollect.Application": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ISCSI.Replication": { + "SYNO.Core.Desktop.Defs": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ISCSI.Target": { + "SYNO.Core.Desktop.Initdata": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ISCSI.VMware": { + "SYNO.Core.Desktop.JSUIString": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.MediaIndexing": { + "SYNO.Core.Desktop.PersonalUpdater": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.MediaIndexing.IndexFolder": { + "SYNO.Core.Desktop.SessionData": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Desktop.Timeout": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Desktop.UIString": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Desktop.Upgrade": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.Azure.SSO": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.MediaIndexing.MediaConverter": { + "SYNO.Core.Directory.Domain": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.Domain.Conf": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.Domain.Schedule": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.Domain.Trust": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.LDAP": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.LDAP.BaseDN": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.LDAP.Login.Notify": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.LDAP.Profile": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.LDAP.Refresh": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.LDAP.User": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.OIDC.SSO": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.SSO": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.SSO.CAS": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.SSO.IWA": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.SSO.Profile": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.SSO.SAML": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.SSO.SAML.Metadata": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.SSO.SAML.Status": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.SSO.Setting": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.SSO.Status": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.SSO.utils": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Directory.WebSphere.SSO": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.DirectoryServiceCheck.Common": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.DirectoryServiceCheck.Debug": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.DirectoryServiceCheck.Domain": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.DirectoryServiceCheck.DomainJoin": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.DirectoryServiceCheck.DomainService": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.DirectoryServiceCheck.DomainValidation": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.DirectoryServiceCheck.LDAP": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.DirectoryServiceCheck.Progress": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.DisableAdmin": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.EW.Info": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.EventScheduler": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.EventScheduler.Root": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Bluetooth": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Bluetooth.Device": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Bluetooth.Settings": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.DefaultPermission": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Printer": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Printer.BonjourSharing": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Printer.Driver": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Printer.Network": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Printer.Network.Host": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Printer.OAuth": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Printer.USB": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Storage.EUnit": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Storage.Setting": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Storage.USB": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.Storage.eSATA": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ExternalDevice.UPS": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Factory.Config": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Factory.Manutild": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.File": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.File.Thumbnail": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileHandle": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.AFP": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.FTP": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.FTP.ChrootUser": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.FTP.SFTP": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.FTP.Security": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.NFS": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.NFS.AdvancedSetting": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.NFS.ConfBackup": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.NFS.IDMap": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.NFS.Kerberos": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.NFS.SharePrivilege": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.ReflinkCopy": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.Rsync.Account": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.SMB": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.SMB.ConfBackup": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.SMB.Control": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.SMB.MSDFS": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.ServiceDiscovery": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.FileServ.ServiceDiscovery.WSTransfer": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Findhost": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Group": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Group.ExtraAdmin": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Group.Member": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Group.ValidLocalAdmin": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.GroupSettings": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.BeepControl": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.FanSpeed": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.Hibernation": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.LCM": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.Led.Brightness": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.MemoryLayout": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.NeedReboot": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.OOBManagement": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.PowerRecovery": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.PowerSchedule": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.RemoteFanStatus": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.SpectreMeltdown": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.VideoTranscoding": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Hardware.ZRAM": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Help": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ISCSI.FCTarget": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ISCSI.Host": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ISCSI.LUN": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ISCSI.Lunbkp": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ISCSI.Node": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ISCSI.Replication": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ISCSI.Target": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ISCSI.VMware": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.MediaIndexing": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.MediaIndexing.IndexFolder": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.MediaIndexing.MediaConverter": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.MediaIndexing.Scheduler": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.MediaIndexing.ThumbnailQuality": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.MyDSCenter": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.MyDSCenter.Account": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.MyDSCenter.Login": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.MyDSCenter.Logout": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.MyDSCenter.Purchase": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.Authentication": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.Authentication.Cert": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.Bond": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.Ethernet": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.Ethernet.External": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.IPv6": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.IPv6.Router": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.IPv6.Router.Prefix": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.Interface": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.MACClone": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.OVS": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.PPPoE": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.PPPoE.Relay": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.Proxy": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.Router.Gateway.List": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.Router.Static.Route": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.TrafficControl.RouterRules": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.TrafficControl.Rules": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.UPnPServer": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.VPN": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.VPN.L2TP": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.VPN.OpenVPN": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.VPN.OpenVPN.CA": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.VPN.OpenVPNWithConf": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.VPN.OpenVPNWithConf.Certs": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.VPN.PPTP": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Network.WOL": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.NormalUser": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.NormalUser.LoginNotify": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Advance.CustomizedData": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Advance.FilterSettings": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Advance.FilterSettings.Profile": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Advance.FilterSettings.Template": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Advance.Variables": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Advance.WarningPercentage": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.CMS": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.CMS.Conf": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Line": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Mail": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Mail.Auth": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Mail.Conf": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Mail.Oauth": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Mail.Profile.Conf": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Push": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Push.AuthToken": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Push.Conf": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Push.Mail": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Push.Mobile": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Push.Webhook.Provider": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.SMS": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.SMS.Conf": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.SMS.Provider": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Notification.Sysnotify": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.OAuth.Scope": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.OAuth.Server": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.OTP": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.OTP.Admin": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.OTP.EnforcePolicy": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.OTP.Ex": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.OTP.Mail": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.AutoUpgrade.Progress": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Control": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.FakeIFrame": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Feed": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Info": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Installation": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Installation.Download": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Legal.PreRelease": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Log": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.MyDS": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.MyDS.Purchase": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Progress": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Screenshot": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Screenshot.Server": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Server": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Setting": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Setting.Update": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Setting.Volume": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Thumb": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Thumb.Server": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Package.Uninstallation": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PersonalNotification.Device": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PersonalNotification.Event": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PersonalNotification.Filter": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PersonalNotification.Mobile": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PersonalNotification.Settings": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PersonalSettings": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PhotoViewer": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Polling.Data": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PortForwarding": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PortForwarding.Compatibility": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PortForwarding.RouterConf": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PortForwarding.RouterInfo": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PortForwarding.RouterList": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PortForwarding.Rules": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.PortForwarding.Rules.Serv": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Promotion.Info": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Promotion.PreInstall": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.QuickConnect": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.QuickConnect.Hostname": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.QuickConnect.Permission": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.QuickConnect.RegisterSite": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.QuickConnect.SNI": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.QuickConnect.Upnp": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.QuickStart.Info": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.QuickStart.Install": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Quota": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.RecycleBin": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.RecycleBin.User": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Region.Language": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Region.NTP": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Region.NTP.DateTimeFormat": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Region.NTP.Server": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Report": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Report.Analyzer": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Report.Analyzer.File": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Report.Analyzer.Share": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Report.Config": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Report.History": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Report.Redirect": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Report.Util": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.ResetAdmin": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SNMP": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.AutoBlock": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.AutoBlock.Rules": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.DSM": { + "maxVersion": 5, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.DSM.Embed": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.DSM.Proxy": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.DoS": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.Firewall": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.Firewall.Adapter": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.Firewall.Conf": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.Firewall.Geoip": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.Firewall.Profile": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.Firewall.Profile.Apply": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.Firewall.Rules": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Security.Firewall.Rules.Serv": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SecurityScan.Conf": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SecurityScan.Operation": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SecurityScan.Status": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Service": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Service.Conf": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Service.PortInfo": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Share": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Share.Crypto": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Share.Crypto.Key": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Share.CryptoFile": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Share.KeyManager.AutoKey": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Share.KeyManager.Key": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Share.KeyManager.MachineKey": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Share.KeyManager.Store": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Share.Migration": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Share.Migration.Task": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Share.Permission": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Share.PermissionReport": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Share.Snapshot": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Sharing": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Sharing.Initdata": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Sharing.Login": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Sharing.Session": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SmartBlock": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SmartBlock.Device": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SmartBlock.Trusted": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SmartBlock.Untrusted": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SmartBlock.User": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Storage.Disk": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Storage.Disk.FWUpgrade": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Storage.Pool": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Storage.Volume": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Storage.iSCSILUN": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SupportForm.Form": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SupportForm.Log": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SupportForm.Service": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Synohdpack": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SyslogClient.FileTransfer": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SyslogClient.Log": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SyslogClient.PersonalActivity": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SyslogClient.Setting.Notify": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.SyslogClient.Status": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.System": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.System.Process": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.System.ProcessGroup": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.System.ResetButton": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.System.Status": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.System.SystemHealth": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.System.Utilization": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.TFTP": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.TaskScheduler": { + "maxVersion": 4, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.TaskScheduler.Root": { + "maxVersion": 4, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Terminal": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Theme.AppPortalLogin": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Theme.Desktop": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Theme.FileSharingLogin": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Theme.Image": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Theme.Login": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.TrustDevice": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Tuned": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.UISearch": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.AutoUpgrade": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.Cluster.Patch": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.Cluster.Server": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.Cluster.Server.Download": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.Group": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.Group.Download": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.Group.Setting": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.GroupInstall": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.GroupInstall.Network": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.JuniorModeData": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.Patch": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.PreCheck": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.RemoteAction": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.Server": { + "maxVersion": 4, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.Server.Download": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Upgrade.Setting": { + "maxVersion": 4, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.User": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.User.Group": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.User.Home": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.User.PasswordConfirm": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.User.PasswordExpiry": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.User.PasswordMeter": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.User.PasswordPolicy": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.User.UsernamePolicy": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.UserSettings": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Virtualization.Host.Capability": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Web.DSM": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Web.DSM.External": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Web.Security.HTTPCompression": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Core.Web.Security.TLSProfile": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DR.Node": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DR.Node.Credential": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DR.Node.Session": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DSM.FindMe": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DSM.Info": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DSM.Network": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DSM.PortEnable": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DSM.PushNotification": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Default.API": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DisasterRecovery.Log": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DisasterRecovery.Retention": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation.BTSearch": { + "maxVersion": 1, + "minVersion": 1, + "path": "DownloadStation/btsearch.cgi", + }, + "SYNO.DownloadStation.Info": { + "maxVersion": 2, + "minVersion": 1, + "path": "DownloadStation/info.cgi", + }, + "SYNO.DownloadStation.RSS.Feed": { + "maxVersion": 1, + "minVersion": 1, + "path": "DownloadStation/RSSfeed.cgi", + }, + "SYNO.DownloadStation.RSS.Site": { + "maxVersion": 1, + "minVersion": 1, + "path": "DownloadStation/RSSsite.cgi", + }, + "SYNO.DownloadStation.Schedule": { + "maxVersion": 1, + "minVersion": 1, + "path": "DownloadStation/schedule.cgi", + }, + "SYNO.DownloadStation.Statistic": { + "maxVersion": 1, + "minVersion": 1, + "path": "DownloadStation/statistic.cgi", + }, + "SYNO.DownloadStation.Task": { + "maxVersion": 3, + "minVersion": 1, + "path": "DownloadStation/task.cgi", + }, + "SYNO.DownloadStation2.BTSearch": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Captcha": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Package.Info": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Package.Module": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Package.Service": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.RSS.Feed": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.RSS.Filter": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.RSS.Item": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Settings.AutoExtraction": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Settings.BT": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Settings.BTSearch": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Settings.Emule": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Settings.Emule.Location": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Settings.FileHosting": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Settings.FtpHttp": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Settings.Global": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Settings.Location": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Settings.Nzb": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Settings.Rss": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Settings.Scheduler": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Task": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Task.BT": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Task.BT.File": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Task.BT.Peer": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Task.BT.Tracker": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Task.Complete": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Task.List": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Task.List.Polling": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Task.NZB.File": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Task.NZB.Log": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Task.Source": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Task.Statistic": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Task.eMule": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.Thumbnail": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.eMule.Search": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.DownloadStation2.eMule.Server": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Entry.Request": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Entry.Request.Polling": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Entry.SocketIo": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.BackgroundTask": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.CheckExist": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.CheckPermission": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Compress": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.CopyMove": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.CreateFolder": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Delete": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.DirSize": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Download": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.External.GoogleDrive": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Extract": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Favorite": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.FormUpload": { + "maxVersion": 2, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Info": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.List": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.MD5": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Mount": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Mount.List": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Notify": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.PhotoUpload": { + "maxVersion": 3, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Property": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Property.ACLOwner": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Property.CompressSize": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Property.Mtime": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Rename": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Search": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Search.History": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Settings": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Sharing": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Sharing.Download": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Snapshot": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Thumb": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Timeout": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.UIString": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Upload": { + "maxVersion": 3, + "minVersion": 2, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.UserGrp": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.VFS.Connection": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.VFS.File": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.VFS.GDrive": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.VFS.Profile": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.VFS.Protocol": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.VFS.User": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.VirtualFolder": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Worm": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FileStation.Worm.Lock": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.AppIndexing.Search": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.Bookmark": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.Elastic.SearchHistory": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.Elastic.Spotlight": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.Elastic.Term": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.File": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.File.Cover": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.File.Thumbnail": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.FileIndexing.Folder": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.FileIndexing.Highlight": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.FileIndexing.Indicate": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.FileIndexing.Search": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.FileIndexing.Status": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.FileIndexing.Term": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.Preference": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.Settings": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Finder.UserGrp": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FolderSharing.Download": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FolderSharing.List": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.FolderSharing.Thumb": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Foto.BackgroundTask.File": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Foto.BackgroundTask.Info": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Foto.Browse.Album": { + "maxVersion": 5, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Foto.Browse.Category": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Foto.Browse.Concept": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Foto.Browse.ConditionAlbum": { + "maxVersion": 3, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Foto.Browse.Diff": { + "maxVersion": 5, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Foto.Browse.Folder": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.MediaIndexing.Scheduler": { + "SYNO.Foto.Browse.GeneralTag": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.MediaIndexing.ThumbnailQuality": { + "SYNO.Foto.Browse.Geocoding": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.MyDSCenter": { - "maxVersion": 2, + "SYNO.Foto.Browse.Item": { + "maxVersion": 5, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.MyDSCenter.Account": { - "maxVersion": 1, + "SYNO.Foto.Browse.NormalAlbum": { + "maxVersion": 3, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.MyDSCenter.Login": { - "maxVersion": 1, + "SYNO.Foto.Browse.Person": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.MyDSCenter.Logout": { - "maxVersion": 1, + "SYNO.Foto.Browse.RecentlyAdded": { + "maxVersion": 5, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.MyDSCenter.Purchase": { - "maxVersion": 1, + "SYNO.Foto.Browse.Timeline": { + "maxVersion": 5, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network": { + "SYNO.Foto.Browse.Unit": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.Authentication": { + "SYNO.Foto.Development.Admin": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.Authentication.Cert": { - "maxVersion": 1, + "SYNO.Foto.Download": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.Bond": { - "maxVersion": 2, + "SYNO.Foto.Favorite": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.Ethernet": { - "maxVersion": 2, + "SYNO.Foto.Index": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.IPv6": { + "SYNO.Foto.Migration": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.IPv6.Router": { + "SYNO.Foto.Notification": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.IPv6.Router.Prefix": { + "SYNO.Foto.PhotoRequest": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.Interface": { + "SYNO.Foto.PublicSharing": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.MACClone": { - "maxVersion": 1, + "SYNO.Foto.Search.Filter": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.OVS": { - "maxVersion": 1, + "SYNO.Foto.Search.Search": { + "maxVersion": 6, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.PPPoE": { + "SYNO.Foto.Setting.Admin": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.PPPoE.Relay": { + "SYNO.Foto.Setting.Guest": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.Proxy": { + "SYNO.Foto.Setting.MobileCompatibility": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.Router.Gateway.List": { + "SYNO.Foto.Setting.TeamSpace": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.Router.Static.Route": { + "SYNO.Foto.Setting.User": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.TrafficControl.RouterRules": { + "SYNO.Foto.Setting.Wizard": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.TrafficControl.Rules": { - "maxVersion": 1, + "SYNO.Foto.Sharing.Misc": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.UPnPServer": { + "SYNO.Foto.Sharing.Passphrase": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.VPN": { - "maxVersion": 1, + "SYNO.Foto.Streaming": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.VPN.L2TP": { - "maxVersion": 1, + "SYNO.Foto.Thumbnail": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.VPN.OpenVPN": { + "SYNO.Foto.Udc": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.VPN.OpenVPN.CA": { + "SYNO.Foto.Upload.ConvertedFile": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.VPN.OpenVPNWithConf": { - "maxVersion": 1, + "SYNO.Foto.Upload.Item": { + "maxVersion": 5, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.VPN.OpenVPNWithConf.Certs": { + "SYNO.Foto.Upload.PhotoRequestItem": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.VPN.PPTP": { + "SYNO.Foto.UserInfo": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Network.WOL": { + "SYNO.FotoTeam.BackgroundTask.File": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.NormalUser": { + "SYNO.FotoTeam.Browse.Concept": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.NormalUser.LoginNotify": { - "maxVersion": 1, + "SYNO.FotoTeam.Browse.Diff": { + "maxVersion": 5, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.Advance.CustomizedData": { - "maxVersion": 1, + "SYNO.FotoTeam.Browse.Folder": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.Advance.FilterSettings": { + "SYNO.FotoTeam.Browse.GeneralTag": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.Advance.Variables": { + "SYNO.FotoTeam.Browse.Geocoding": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.Advance.WarningPercentage": { - "maxVersion": 1, + "SYNO.FotoTeam.Browse.Item": { + "maxVersion": 5, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.CMS": { - "maxVersion": 1, + "SYNO.FotoTeam.Browse.Person": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.CMS.Conf": { - "maxVersion": 1, + "SYNO.FotoTeam.Browse.RecentlyAdded": { + "maxVersion": 5, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.Mail": { - "maxVersion": 1, + "SYNO.FotoTeam.Browse.Timeline": { + "maxVersion": 5, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.Mail.Auth": { - "maxVersion": 1, + "SYNO.FotoTeam.Browse.Unit": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.Mail.Conf": { - "maxVersion": 1, + "SYNO.FotoTeam.Download": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.Push": { + "SYNO.FotoTeam.Index": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.Push.AuthToken": { - "maxVersion": 1, + "SYNO.FotoTeam.Search.Filter": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.Push.Conf": { - "maxVersion": 1, + "SYNO.FotoTeam.Search.Search": { + "maxVersion": 6, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.Push.Mail": { + "SYNO.FotoTeam.Sharing.FolderBatchPermission": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.Push.Mobile": { + "SYNO.FotoTeam.Sharing.FolderPermission": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.Push.Webhook.Provider": { + "SYNO.FotoTeam.Sharing.Passphrase": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.SMS": { + "SYNO.FotoTeam.Streaming": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.SMS.Conf": { + "SYNO.FotoTeam.Thumbnail": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Notification.SMS.Provider": { - "maxVersion": 2, + "SYNO.FotoTeam.Upload.ConvertedFile": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.OAuth.Scope": { - "maxVersion": 1, + "SYNO.FotoTeam.Upload.Item": { + "maxVersion": 5, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.OAuth.Server": { + "SYNO.HCI.Cluster": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.OTP": { - "maxVersion": 3, + "SYNO.HCI.Guest": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.OTP.Admin": { + "SYNO.HCI.Host": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.OTP.EnforcePolicy": { + "SYNO.HCI.Utils": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.OTP.Ex": { + "SYNO.License.HA": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.OTP.Mail": { + "SYNO.LogCenter.Client": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package": { - "maxVersion": 2, + "SYNO.LogCenter.Client.CA": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.AutoUpgrade.Progress": { + "SYNO.LogCenter.History": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.CategoryImage": { + "SYNO.LogCenter.Log": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Control": { + "SYNO.LogCenter.RecvRule": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.FakeIFrame": { + "SYNO.LogCenter.Setting.Storage": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Feed": { + "SYNO.Lunbackup": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Feed.Keyring": { - "maxVersion": 1, + "SYNO.MailClient.Attachment": { + "maxVersion": 8, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Info": { + "SYNO.MailClient.CMSCertificate": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Installation": { - "maxVersion": 2, + "SYNO.MailClient.Draft": { + "maxVersion": 6, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Installation.Download": { - "maxVersion": 1, + "SYNO.MailClient.Filter": { + "maxVersion": 3, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Log": { - "maxVersion": 1, + "SYNO.MailClient.Info": { + "maxVersion": 5, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.MyDS": { - "maxVersion": 1, + "SYNO.MailClient.Label": { + "maxVersion": 3, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.MyDS.Purchase": { + "SYNO.MailClient.MailMerge": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Progress": { + "SYNO.MailClient.MailTemplate": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Screenshot": { + "SYNO.MailClient.MailTrack": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Screenshot.Server": { - "maxVersion": 1, + "SYNO.MailClient.Mailbox": { + "maxVersion": 7, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Server": { - "maxVersion": 2, + "SYNO.MailClient.Message": { + "maxVersion": 10, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Setting": { + "SYNO.MailClient.PGPKey": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Setting.Update": { + "SYNO.MailClient.SearchHistory": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Setting.Volume": { - "maxVersion": 1, + "SYNO.MailClient.Setting": { + "maxVersion": 3, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Thumb": { + "SYNO.MailClient.Setting.CustomAutoReply": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Thumb.Server": { + "SYNO.MailClient.Setting.CustomLogo": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Package.Uninstallation": { + "SYNO.MailClient.Setting.Encryption": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PersonalNotification.Device": { + "SYNO.MailClient.Setting.ForwardReply": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PersonalNotification.Event": { + "SYNO.MailClient.Setting.General": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PersonalNotification.Filter": { + "SYNO.MailClient.Setting.Lab": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PersonalNotification.Mobile": { + "SYNO.MailClient.Setting.MailTrack": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PersonalNotification.Settings": { + "SYNO.MailClient.Setting.ManualConfig": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PersonalSettings": { + "SYNO.MailClient.Setting.Notification": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PhotoViewer": { + "SYNO.MailClient.Setting.PGP": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Polling.Data": { + "SYNO.MailClient.Setting.POP3": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PortForwarding": { + "SYNO.MailClient.Setting.PriorityMailbox": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PortForwarding.Compatibility": { - "maxVersion": 1, + "SYNO.MailClient.Setting.SMTP": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PortForwarding.RouterConf": { + "SYNO.MailClient.Setting.SharingLink": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PortForwarding.RouterInfo": { + "SYNO.MailClient.Signature": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PortForwarding.RouterList": { + "SYNO.MailClient.SpamRule": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PortForwarding.Rules": { - "maxVersion": 1, + "SYNO.MailClient.Sticker": { + "maxVersion": 3, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PortForwarding.Rules.Serv": { + "SYNO.MailClient.Theme": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.PortForwarding.UserDataCollector": { - "maxVersion": 1, + "SYNO.MailClient.Thread": { + "maxVersion": 10, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Promotion.Info": { + "SYNO.MailClient.UserDataCollect": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.QuickConnect": { - "maxVersion": 3, - "minVersion": 1, - "path": "entry.cgi", - "requestFormat": "JSON", - }, - "SYNO.Core.QuickConnect.Hostname": { + "SYNO.MailClient.UserPreference": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.QuickConnect.Permission": { + "SYNO.MailPlusServer.Account.Detail": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.QuickConnect.RegisterSite": { + "SYNO.MailPlusServer.Account.Maildir": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.QuickConnect.SNI": { + "SYNO.MailPlusServer.Account.Quota": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.QuickConnect.Upnp": { - "maxVersion": 1, + "SYNO.MailPlusServer.Alias": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.QuickStart.Info": { - "maxVersion": 3, + "SYNO.MailPlusServer.Audit.AdminLog": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.QuickStart.Install": { + "SYNO.MailPlusServer.Audit.DovecotLog": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Quota": { + "SYNO.MailPlusServer.Audit.SearchTask": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.RecycleBin": { + "SYNO.MailPlusServer.Audit.SearchTaskResult": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.RecycleBin.User": { + "SYNO.MailPlusServer.Audit.TransactionLog": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Region.Language": { + "SYNO.MailPlusServer.Client": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Region.NTP": { - "maxVersion": 2, + "SYNO.MailPlusServer.Cluster": { + "maxVersion": 3, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Region.NTP.DateTimeFormat": { - "maxVersion": 1, + "SYNO.MailPlusServer.CreateWizard": { + "maxVersion": 7, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Region.NTP.Server": { + "SYNO.MailPlusServer.Delegation": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.ResetAdmin": { - "maxVersion": 1, + "SYNO.MailPlusServer.Diagnosis": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SNMP": { + "SYNO.MailPlusServer.Disclaimer": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.AutoBlock": { - "maxVersion": 1, + "SYNO.MailPlusServer.Domain": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.AutoBlock.Rules": { + "SYNO.MailPlusServer.Domain.AdditionalDomain": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.DSM": { - "maxVersion": 4, + "SYNO.MailPlusServer.Domain.BCC": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.DSM.Embed": { + "SYNO.MailPlusServer.Domain.Group": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.DSM.Proxy": { + "SYNO.MailPlusServer.Domain.Settings": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.DoS": { - "maxVersion": 2, + "SYNO.MailPlusServer.Domain.User": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.Firewall": { + "SYNO.MailPlusServer.FullTextSearch": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.Firewall.Adapter": { + "SYNO.MailPlusServer.IMAP_POP3": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.Firewall.Conf": { + "SYNO.MailPlusServer.IMAP_POP3_ADVANCED": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.Firewall.Geoip": { - "maxVersion": 1, + "SYNO.MailPlusServer.License": { + "maxVersion": 3, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.Firewall.Profile": { + "SYNO.MailPlusServer.License.BitDefender": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.Firewall.Profile.Apply": { + "SYNO.MailPlusServer.License.Payment": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.Firewall.Rules": { + "SYNO.MailPlusServer.Log": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Security.Firewall.Rules.Serv": { + "SYNO.MailPlusServer.Log.Mail": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SecurityScan.Conf": { + "SYNO.MailPlusServer.Log.Security": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", - }, - "SYNO.Core.SecurityScan.Operation": { - "maxVersion": 1, + }, + "SYNO.MailPlusServer.MailImportExport": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SecurityScan.Status": { + "SYNO.MailPlusServer.MailPlus": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Service": { - "maxVersion": 3, + "SYNO.MailPlusServer.Migration": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Service.Conf": { + "SYNO.MailPlusServer.Normal.Util": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Service.PortInfo": { - "maxVersion": 1, + "SYNO.MailPlusServer.Personal.AutoReply": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Share": { + "SYNO.MailPlusServer.Personal.Forward": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Share.Crypto": { + "SYNO.MailPlusServer.Personal.ForwardReply": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Share.Crypto.Key": { + "SYNO.MailPlusServer.Queue": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Share.CryptoFile": { - "maxVersion": 1, + "SYNO.MailPlusServer.RemoteMigrate": { + "maxVersion": 5, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Share.KeyManager.AutoKey": { + "SYNO.MailPlusServer.Report": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Share.KeyManager.Key": { + "SYNO.MailPlusServer.SMTP": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Share.KeyManager.MachineKey": { - "maxVersion": 1, + "SYNO.MailPlusServer.SMTP.Delivery": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Share.KeyManager.Store": { - "maxVersion": 2, + "SYNO.MailPlusServer.SMTP.General": { + "maxVersion": 3, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Share.Migration": { + "SYNO.MailPlusServer.SMTP.RelayControl": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Share.Migration.Task": { + "SYNO.MailPlusServer.SMTP.Security": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Share.Permission": { - "maxVersion": 1, + "SYNO.MailPlusServer.Security": { + "maxVersion": 4, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Share.PermissionReport": { + "SYNO.MailPlusServer.Security.AttachmentFilter": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Share.Snapshot": { + "SYNO.MailPlusServer.Security.BlackwhiteList": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Sharing": { + "SYNO.MailPlusServer.Security.DailyQuota": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Sharing.Initdata": { + "SYNO.MailPlusServer.Security.Dane": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Sharing.Login": { + "SYNO.MailPlusServer.Security.DkimTrustSender": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Sharing.Session": { + "SYNO.MailPlusServer.Security.Greylist": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SmartBlock": { + "SYNO.MailPlusServer.Security.MCP": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SmartBlock.Device": { + "SYNO.MailPlusServer.Security.MCPQuarantine": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SmartBlock.Trusted": { + "SYNO.MailPlusServer.Security.PostScreen": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SmartBlock.Untrusted": { - "maxVersion": 1, + "SYNO.MailPlusServer.Security.VirusQuarantine": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SmartBlock.User": { + "SYNO.MailPlusServer.SecurityDashboard": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Storage.Disk": { + "SYNO.MailPlusServer.ServerList": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Storage.Disk.FWUpgrade": { + "SYNO.MailPlusServer.Service.SMTP": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Storage.Pool": { + "SYNO.MailPlusServer.Spam.ReportedHam": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Storage.Volume": { + "SYNO.MailPlusServer.Spam.ReportedSpam": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Storage.iSCSILUN": { + "SYNO.MailPlusServer.Spam.SpamAssassin": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SupportForm.Form": { - "maxVersion": 1, + "SYNO.MailPlusServer.Statistic": { + "maxVersion": 4, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SupportForm.Log": { + "SYNO.MailPlusServer.UserGroupPolicy": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SupportForm.Service": { - "maxVersion": 1, + "SYNO.MailPlusServer.Util": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Synohdpack": { + "SYNO.MailPlusServer.Version": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SyslogClient.FileTransfer": { + "SYNO.OAUTH.Client": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SyslogClient.Log": { + "SYNO.OAUTH.Common": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SyslogClient.PersonalActivity": { + "SYNO.OAUTH.Log": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SyslogClient.Setting.Notify": { + "SYNO.OAUTH.Token": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.SyslogClient.Status": { + "SYNO.Package": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.System": { - "maxVersion": 3, + "SYNO.PersonMailAccount": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.System.Process": { + "SYNO.PersonMailAccount.Contacts": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.System.ProcessGroup": { + "SYNO.PersonMailAccount.Mail": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.System.ResetButton": { + "SYNO.PersonMailAccount.Mail.Oauth": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.System.Status": { + "SYNO.Personal.Application.Info": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.System.SystemHealth": { + "SYNO.Personal.MailAccount": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.System.Utilization": { + "SYNO.Personal.MailAccount.Contacts": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.TFTP": { + "SYNO.Personal.MailAccount.Mail": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.TaskScheduler": { - "maxVersion": 3, + "SYNO.Personal.Notification.Conf": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Terminal": { - "maxVersion": 3, + "SYNO.Personal.Notification.Device": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Theme.AppPortalLogin": { - "maxVersion": 1, + "SYNO.Personal.Notification.Event": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Theme.Desktop": { + "SYNO.Personal.Notification.Filter": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Theme.FileSharingLogin": { + "SYNO.Personal.Notification.GDPR": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Theme.Image": { + "SYNO.Personal.Notification.Identifier": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Theme.Login": { - "maxVersion": 1, + "SYNO.Personal.Notification.Mobile": { + "maxVersion": 3, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.TrustDevice": { - "maxVersion": 1, + "SYNO.Personal.Notification.Settings": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Tuned": { + "SYNO.Personal.Notification.Token": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.UISearch": { + "SYNO.Personal.Notification.VapidPublicKey": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Upgrade": { + "SYNO.Personal.Profile": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Upgrade.AutoUpgrade": { + "SYNO.Personal.Profile.Photo": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Upgrade.Group": { + "SYNO.Remote.Credential": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Upgrade.Group.Download": { + "SYNO.Remote.Credential.Challenge": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Upgrade.Group.Setting": { + "SYNO.Remote.Credential.Info": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Upgrade.GroupInstall": { - "maxVersion": 2, + "SYNO.Remote.Credential.Verifier": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Upgrade.GroupInstall.Network": { + "SYNO.ResourceMonitor.EventRule": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Upgrade.Patch": { - "maxVersion": 2, + "SYNO.ResourceMonitor.Log": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Upgrade.PreCheck": { + "SYNO.ResourceMonitor.Setting": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Upgrade.Server": { - "maxVersion": 3, + "SYNO.S2S.Client": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Upgrade.Server.Download": { - "maxVersion": 2, + "SYNO.S2S.Client.Job": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Upgrade.Setting": { - "maxVersion": 3, + "SYNO.S2S.Server": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.User": { + "SYNO.S2S.Server.Pair": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.User.Group": { + "SYNO.SAS.APIRunner": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.User.Home": { + "SYNO.SAS.APIRunner.Chatbot": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.User.PasswordConfirm": { + "SYNO.SAS.Encryption": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.User.PasswordExpiry": { + "SYNO.SAS.Group": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.User.PasswordMeter": { + "SYNO.SAS.Group.Members": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.User.PasswordPolicy": { + "SYNO.SAS.Guest": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.UserSettings": { + "SYNO.SDS.Backup.Client.Common.Log": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Virtualization.Host.Capability": { + "SYNO.SDS.Backup.Client.Common.Statistic": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Web.DSM": { - "maxVersion": 2, + "SYNO.SDS.Backup.Client.Common.Target": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Web.DSM.External": { + "SYNO.SDS.Backup.Client.Common.Version": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Web.Security.HTTPCompression": { - "maxVersion": 1, + "SYNO.SDS.Backup.Client.Explore.File": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Core.Web.Security.TLSProfile": { - "maxVersion": 1, + "SYNO.SDS.Backup.Client.Explore.Folder": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.DR.Node": { - "maxVersion": 1, + "SYNO.SDS.Backup.Client.Explore.Job": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.DR.Node.Credential": { - "maxVersion": 1, + "SYNO.SDS.Backup.Client.Explore.Target": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.DR.Node.Session": { + "SYNO.SDS.Backup.Client.Explore.Version": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.DSM.FindMe": { - "maxVersion": 2, - "minVersion": 2, + "SYNO.SDS.Backup.Client.Fuse.Target": { + "maxVersion": 1, + "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.DSM.Info": { - "maxVersion": 2, - "minVersion": 2, + "SYNO.SDS.Backup.Server.Common.Log": { + "maxVersion": 1, + "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.DSM.Network": { - "maxVersion": 2, - "minVersion": 2, + "SYNO.SDS.Backup.Server.Common.Statistic": { + "maxVersion": 1, + "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.DSM.PortEnable": { + "SYNO.SDS.Backup.Server.Common.Target": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.DSM.PushNotification": { + "SYNO.SDS.Backup.Server.Common.Version": { + "maxVersion": 1, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.SDS.Backup.Server.Explore.File": { "maxVersion": 2, - "minVersion": 2, + "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.DisasterRecovery.Log": { - "maxVersion": 1, + "SYNO.SDS.Backup.Server.Explore.Folder": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.DisasterRecovery.Retention": { - "maxVersion": 1, + "SYNO.SDS.Backup.Server.Explore.Job": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Entry.Request": { + "SYNO.SDS.Backup.Server.Explore.Target": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Entry.Request.Polling": { - "maxVersion": 1, + "SYNO.SDS.Backup.Server.Explore.Version": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Entry.SocketIo": { + "SYNO.SDS.Backup.Server.Fuse.Target": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.BackgroundTask": { - "maxVersion": 3, + "SYNO.SecureSignIn.AMFA.Mail.Ex": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.CheckExist": { - "maxVersion": 2, + "SYNO.SecureSignIn.AMFA.Policy": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.CheckPermission": { - "maxVersion": 3, + "SYNO.SecureSignIn.AMFA.SuggestConn": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Compress": { - "maxVersion": 3, + "SYNO.SecureSignIn.Authenticator": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.CopyMove": { - "maxVersion": 3, + "SYNO.SecureSignIn.Authenticator.Ex": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.CreateFolder": { + "SYNO.SecureSignIn.Authenticator.Info": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Delete": { + "SYNO.SecureSignIn.Authenticator.Registration": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.DirSize": { + "SYNO.SecureSignIn.Authenticator.Registration.Ex": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Download": { - "maxVersion": 2, + "SYNO.SecureSignIn.Authenticator.Request": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.External.GoogleDrive": { + "SYNO.SecureSignIn.Authenticator.Verdict": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Extract": { - "maxVersion": 2, + "SYNO.SecureSignIn.Fido.Manage": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Favorite": { - "maxVersion": 2, + "SYNO.SecureSignIn.Fido.Manage.Ex": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.FormUpload": { - "maxVersion": 2, - "minVersion": 2, + "SYNO.SecureSignIn.Fido.Register": { + "maxVersion": 1, + "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Info": { - "maxVersion": 2, + "SYNO.SecureSignIn.Fido.Register.Ex": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.List": { - "maxVersion": 2, + "SYNO.SecureSignIn.Method": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.MD5": { - "maxVersion": 2, + "SYNO.SecureSignIn.Method.Admin": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Mount": { + "SYNO.SecureSignIn.Method.Ex": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Mount.List": { + "SYNO.SecureSignIn.Package": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Notify": { + "SYNO.SecureSignIn.Package.Ex": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.PhotoUpload": { - "maxVersion": 3, - "minVersion": 2, + "SYNO.SecureSignIn.Package.Request": { + "maxVersion": 1, + "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Property": { + "SYNO.SecurityAdvisor.Conf": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Property.ACLOwner": { + "SYNO.SecurityAdvisor.Conf.Checklist": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Property.CompressSize": { + "SYNO.SecurityAdvisor.Conf.Checklist.Alert": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Property.Mtime": { + "SYNO.SecurityAdvisor.Conf.Location": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Rename": { - "maxVersion": 2, + "SYNO.SecurityAdvisor.LoginActivity": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Search": { - "maxVersion": 2, + "SYNO.SecurityAdvisor.LoginActivity.User": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Search.History": { + "SYNO.SecurityAdvisor.Report": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Settings": { + "SYNO.SecurityAdvisor.Report.HTML": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Sharing": { - "maxVersion": 3, + "SYNO.ShareLink.Action": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Sharing.Download": { + "SYNO.ShareLink.Download": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Snapshot": { - "maxVersion": 2, + "SYNO.ShareLink.Manage": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Thumb": { - "maxVersion": 2, + "SYNO.Snap.Usage.Share": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Timeout": { + "SYNO.Storage.CGI.BtrfsDedupe": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.UIString": { + "SYNO.Storage.CGI.Cache.Protection": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.Upload": { - "maxVersion": 3, - "minVersion": 2, + "SYNO.Storage.CGI.Check": { + "maxVersion": 1, + "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.UserGrp": { + "SYNO.Storage.CGI.DetectedPool": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.VFS.Connection": { + "SYNO.Storage.CGI.DualEnclosure": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.VFS.File": { + "SYNO.Storage.CGI.Enclosure": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.VFS.GDrive": { + "SYNO.Storage.CGI.EncryptionKeyVault": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.VFS.Profile": { + "SYNO.Storage.CGI.EncryptionKeyVault.UnlockMode": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.VFS.Protocol": { + "SYNO.Storage.CGI.Flashcache": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.VFS.User": { + "SYNO.Storage.CGI.HddMan": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FileStation.VirtualFolder": { - "maxVersion": 2, + "SYNO.Storage.CGI.KMIP": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.AppIndexing.Search": { + "SYNO.Storage.CGI.Pool": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.Bookmark": { + "SYNO.Storage.CGI.Scrubbing": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.Elastic.SearchHistory": { + "SYNO.Storage.CGI.Smart": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.Elastic.Spotlight": { + "SYNO.Storage.CGI.Smart.Scheduler": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.Elastic.Term": { + "SYNO.Storage.CGI.Spare": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.File": { + "SYNO.Storage.CGI.Spare.Conf": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.File.Cover": { + "SYNO.Storage.CGI.Storage": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.File.Thumbnail": { + "SYNO.Storage.CGI.TaipeiEnclosure": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.FileIndexing.Folder": { + "SYNO.Storage.CGI.Volume": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.FileIndexing.Highlight": { + "SYNO.Storage.CGI.Volume.Installer": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.FileIndexing.Indicate": { + "SYNO.Storage.CGI.Volume.OfflineOp": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.FileIndexing.Search": { - "maxVersion": 1, + "SYNO.SupportService.Setting": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.FileIndexing.Status": { + "SYNO.SynologyDrive": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.FileIndexing.Term": { + "SYNO.SynologyDrive.Activation": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.Preference": { + "SYNO.SynologyDrive.AdvanceSharing": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.Settings": { + "SYNO.SynologyDrive.AdvanceSharing.Public": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Finder.UserGrp": { + "SYNO.SynologyDrive.AppIntegration": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FolderSharing.Download": { - "maxVersion": 2, + "SYNO.SynologyDrive.Authentication": { + "maxVersion": 3, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FolderSharing.List": { - "maxVersion": 2, + "SYNO.SynologyDrive.Config": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FolderSharing.Thumb": { + "SYNO.SynologyDrive.Connection": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.BackgroundTask.File": { + "SYNO.SynologyDrive.DBUsage": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.BackgroundTask.Info": { + "SYNO.SynologyDrive.DSM": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Browse.Album": { - "maxVersion": 2, + "SYNO.SynologyDrive.Dashboard": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Browse.Category": { - "maxVersion": 1, + "SYNO.SynologyDrive.Files": { + "maxVersion": 10, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Browse.ConditionAlbum": { - "maxVersion": 2, + "SYNO.SynologyDrive.HybridShare.Privilege": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Browse.Diff": { - "maxVersion": 3, + "SYNO.SynologyDrive.Index": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Browse.Folder": { + "SYNO.SynologyDrive.Info": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Browse.GeneralTag": { + "SYNO.SynologyDrive.KeyManagement": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Browse.Geocoding": { - "maxVersion": 1, + "SYNO.SynologyDrive.Labels": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Browse.Item": { - "maxVersion": 2, + "SYNO.SynologyDrive.Log": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Browse.NormalAlbum": { - "maxVersion": 2, + "SYNO.SynologyDrive.Metrics": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Browse.Person": { - "maxVersion": 2, + "SYNO.SynologyDrive.Metrics.Token": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Browse.RecentlyAdded": { - "maxVersion": 3, + "SYNO.SynologyDrive.Migration": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Browse.Timeline": { - "maxVersion": 3, + "SYNO.SynologyDrive.Migration.UserHome": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Browse.Unit": { + "SYNO.SynologyDrive.Mobile.Notification": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Development.Admin": { + "SYNO.SynologyDrive.Node": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Download": { + "SYNO.SynologyDrive.Node.Delete": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Favorite": { + "SYNO.SynologyDrive.Node.Download": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Index": { + "SYNO.SynologyDrive.Node.Restore": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Migration": { - "maxVersion": 1, + "SYNO.SynologyDrive.Notifications": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Notification": { + "SYNO.SynologyDrive.Office": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.PhotoRequest": { - "maxVersion": 1, + "SYNO.SynologyDrive.Photos": { + "maxVersion": 3, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.PublicSharing": { + "SYNO.SynologyDrive.Privilege": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Search.Filter": { + "SYNO.SynologyDrive.Profiles": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Search.Search": { - "maxVersion": 4, + "SYNO.SynologyDrive.Revisions": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Setting.Admin": { + "SYNO.SynologyDrive.SCIM.Photo": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Setting.Guest": { + "SYNO.SynologyDrive.SCIM.User": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Setting.MobileCompatibility": { + "SYNO.SynologyDrive.Services.DocumentViewer": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Setting.TeamSpace": { + "SYNO.SynologyDrive.Services.SynologyChat": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Setting.User": { + "SYNO.SynologyDrive.Services.VideoStation": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Setting.Wizard": { - "maxVersion": 1, + "SYNO.SynologyDrive.Settings": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Sharing.Misc": { - "maxVersion": 2, + "SYNO.SynologyDrive.Shard": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Sharing.Passphrase": { - "maxVersion": 1, + "SYNO.SynologyDrive.Share": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Streaming": { + "SYNO.SynologyDrive.Share.Priv": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Thumbnail": { + "SYNO.SynologyDrive.Sharing": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Upload.Item": { + "SYNO.SynologyDrive.Sharing.Report": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.Upload.PhotoRequestItem": { + "SYNO.SynologyDrive.Statistics": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Foto.UserInfo": { + "SYNO.SynologyDrive.String": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FotoTeam.Browse.Item": { + "SYNO.SynologyDrive.Tasks": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FotoTeam.Download": { + "SYNO.SynologyDrive.TeamFolders": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.FotoTeam.Thumbnail": { + "SYNO.SynologyDrive.Trash": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.License.HA": { + "SYNO.SynologyDrive.Users": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Network.DHCPServer": { - "maxVersion": 4, + "SYNO.SynologyDrive.Webhooks": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Network.DHCPServer.ClientList": { - "maxVersion": 2, + "SYNO.SynologyDriveShareSync.Config": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Network.DHCPServer.PXE": { + "SYNO.SynologyDriveShareSync.Connection": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Network.DHCPServer.Reservation": { - "maxVersion": 3, + "SYNO.SynologyDriveShareSync.Session": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Network.DHCPServer.Vendor": { + "SYNO.SynologyDriveShareSync.Session.Set": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Network.DHCPServer.WPAD": { + "SYNO.TextEditor": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.OAUTH.Client": { + "SYNO.TextEditor.Preference": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.OAUTH.Common": { + "SYNO.Utils": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.OAUTH.Log": { + "SYNO.VMMDR.Btrfs.Replica": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.OAUTH.Token": { + "SYNO.VMMDR.Credential": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Package": { - "maxVersion": 1, + "SYNO.VMMDR.Plan": { + "maxVersion": 3, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.PersonMailAccount": { + "SYNO.VMMDR.Plan.DRSite": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.PersonMailAccount.Contacts": { + "SYNO.VMMDR.Plan.MainSite": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.PersonMailAccount.Mail": { + "SYNO.VMMDR.Plan.Site": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Remote.Credential": { + "SYNO.VMMDR.Topology": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Remote.Credential.Challenge": { + "SYNO.VideoPlayer.Subtitle": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Remote.Credential.Info": { + "SYNO.VideoPlayer.SynologyDrive.Subtitle": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Remote.Credential.Verifier": { + "SYNO.Virtualization.API.Guest": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.ResourceMonitor.EventRule": { + "SYNO.Virtualization.API.Guest.Action": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.ResourceMonitor.Log": { + "SYNO.Virtualization.API.Guest.Image": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.ResourceMonitor.Setting": { + "SYNO.Virtualization.API.Host": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.S2S.Client": { + "SYNO.Virtualization.API.Network": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.S2S.Client.Job": { + "SYNO.Virtualization.API.Storage": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.S2S.Server": { + "SYNO.Virtualization.API.Task.Info": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.S2S.Server.Pair": { - "maxVersion": 1, + "SYNO.Virtualization.Cluster": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Authenticator": { - "maxVersion": 1, + "SYNO.Virtualization.Guest": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Authenticator.Ex": { + "SYNO.Virtualization.Guest.Action": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Authenticator.Info": { + "SYNO.Virtualization.Guest.Image": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Authenticator.Registration": { - "maxVersion": 2, + "SYNO.Virtualization.Guest.P2V": { + "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Authenticator.Registration.Ex": { + "SYNO.Virtualization.GuestProtect.Plan": { "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Authenticator.Request": { + "SYNO.Virtualization.GuestProtect.Policy": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Authenticator.Verdict": { + "SYNO.Virtualization.GuestProtect.Snap": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Fido.Manage": { + "SYNO.Virtualization.HA": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Fido.Manage.Ex": { + "SYNO.Virtualization.HA.Setting": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Fido.Register": { - "maxVersion": 1, + "SYNO.Virtualization.Host": { + "maxVersion": 2, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Fido.Register.Ex": { + "SYNO.Virtualization.License": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Method": { + "SYNO.Virtualization.License.Pro": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Method.Admin": { + "SYNO.Virtualization.License.VDSM": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Method.Ex": { + "SYNO.Virtualization.Log": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Package": { + "SYNO.Virtualization.Network": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Virtualization.Network.SRIOV": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Package.Ex": { + "SYNO.Virtualization.Package": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecureSignIn.Package.Request": { + "SYNO.Virtualization.Repo": { + "maxVersion": 2, + "minVersion": 1, + "path": "entry.cgi", + "requestFormat": "JSON", + }, + "SYNO.Virtualization.Setting.General": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecurityAdvisor.Conf": { + "SYNO.Virtualization.Setting.Notify": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecurityAdvisor.Conf.Checklist": { + "SYNO.Virtualization.Setting.UI": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecurityAdvisor.Conf.Checklist.Alert": { + "SYNO.Virtualization.Sharing.VNC": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecurityAdvisor.Conf.Location": { + "SYNO.Virtualization.User": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecurityAdvisor.LoginActivity": { + "SYNO.Virtualization.Utils": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecurityAdvisor.Report": { + "SYNO.WebDAV.CalDAV.Calendar": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.SecurityAdvisor.Report.HTML": { + "SYNO.WebDAV.Common": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Snap.Usage.Share": { + "SYNO.WebRTC.Proxy": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.Cache.Protection": { + "SYNO.WebRTC.Proxy.Sharing": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.Check": { + "SYNO.WebStation.Backup": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.DetectedPool": { + "SYNO.WebStation.Default": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.DualEnclosure": { + "SYNO.WebStation.Docker": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.Enclosure": { + "SYNO.WebStation.ErrorPage": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.Flashcache": { + "SYNO.WebStation.HTTP.VHost": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.HddMan": { + "SYNO.WebStation.PHP": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.Pool": { + "SYNO.WebStation.PHP.Profile": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.Smart": { + "SYNO.WebStation.Package": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.Smart.Scheduler": { + "SYNO.WebStation.Python": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.Spare": { + "SYNO.WebStation.Python.Profile": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.Spare.Conf": { + "SYNO.WebStation.ScriptLanguage": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.Storage": { + "SYNO.WebStation.ScriptLanguage.Utils": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.TaipeiEnclosure": { + "SYNO.WebStation.Shortcut": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.Volume": { + "SYNO.WebStation.Status": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Storage.CGI.Volume.Installer": { + "SYNO.WebStation.Task": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.Utils": { + "SYNO.WebStation.WebService.Portal": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.VideoPlayer.Subtitle": { + "SYNO.WebStation.WebService.Portal.Log": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", "requestFormat": "JSON", }, - "SYNO.VideoPlayer.SynologyDrive.Subtitle": { + "SYNO.WebStation.WebService.Service": { "maxVersion": 1, "minVersion": 1, "path": "entry.cgi", diff --git a/tests/api_data/dsm_7/virtual_machine_manager/__init__.py b/tests/api_data/dsm_7/virtual_machine_manager/__init__.py new file mode 100644 index 0000000..e6d1551 --- /dev/null +++ b/tests/api_data/dsm_7/virtual_machine_manager/__init__.py @@ -0,0 +1 @@ +"""DSM 7 SYNO.Virtualization.* datas.""" diff --git a/tests/api_data/dsm_7/virtual_machine_manager/const_7_vmm.py b/tests/api_data/dsm_7/virtual_machine_manager/const_7_vmm.py new file mode 100644 index 0000000..303ba4b --- /dev/null +++ b/tests/api_data/dsm_7/virtual_machine_manager/const_7_vmm.py @@ -0,0 +1,113 @@ +"""DSM 7 SYNO.Virtualization.Guest data.""" + +DSM_7_VMM_GUESTS = { + "data": { + "canHA": False, + "canMove": True, + "guests": [ + { + "autorun": 0, + "birth_info": {"desc": "", "from": "vmm", "method": "create"}, + "boot_from": "disk", + "can_ha": True, + "cpu_passthru": True, + "cpu_pin_num": 0, + "cpu_weight": 8, + "desc": "vDSM test", + "dsm_version": "DSM 7.2.1-69057 Update 5", + "guest_id": "a39d0628-380e-42f8-8cb6-a00d6b930fa0", + "ha_status": "", + "ha_status_detail": "", + "ha_status_type": "", + "host_id": "f0310cdf-fa88-47d3-9e9e-be36fb8e121b", + "host_name": "KrosseKrabbe", + "host_ram_size": 6291456, + "http_port": 5000, + "https_enable": False, + "https_port": 5001, + "https_redirect": False, + "hyperv_enlighten": False, + "ip": "", + "is_acting": False, + "is_general_vm": False, + "is_online": False, + "is_replica_support": True, + "is_rs_install": True, + "iso_images": ["unmounted", "unmounted"], + "kb_layout": "Default", + "name": "vdsm", + "ram_used": 0, + "repo_id": "3a69ac31-004c-4b02-9b36-609099bc9be6", + "repo_name": "KrosseKrabbe - VM Storage 1", + "snap_num": 0, + "status": "shutdown", + "status_desc": "", + "status_type": "healthy", + "usb_device_name": None, + "usbs": ["unmounted", "unmounted", "unmounted", "unmounted"], + "use_ovmf": False, + "vcpu_num": 1, + "vcpu_usage": "", + "vdisk_num": 3, + "video_card": "cirrus", + "vram_size": 1048576, + }, + { + "autorun": 1, + "birth_info": {"desc": "", "from": "vmm", "method": "create"}, + "boot_from": "disk", + "can_ha": True, + "cpu_passthru": True, + "cpu_pin_num": 0, + "cpu_weight": 256, + "desc": "", + "dsm_version": "", + "guest_id": "2b4ec8c8-2bec-4daa-b36d-1a47b639254f", + "ha_status": "", + "ha_status_detail": "", + "ha_status_type": "", + "has_agent": False, + "host_id": "f0310cdf-fa88-47d3-9e9e-be36fb8e121b", + "host_name": "KrosseKrabbe", + "host_net_ifs": ["f0310cdf-fa88-47d3-9e9e-be36fb8e121b_bond0"], + "host_ram_size": 6291456, + "http_port": 5000, + "https_enable": False, + "https_port": 5001, + "https_redirect": False, + "hyperv_enlighten": True, + "ip": "", + "is_acting": False, + "is_general_vm": True, + "is_online": True, + "is_replica_support": True, + "is_rs_install": True, + "iso_images": ["unmounted", "unmounted"], + "kb_layout": "Default", + "max_disk_latency": 0, + "name": "lnx_test", + "ram_used": 1169544, + "repo_id": "3a69ac31-004c-4b02-9b36-609099bc9be6", + "repo_name": "KrosseKrabbe - VM Storage 1", + "snap_num": 0, + "status": "running", + "status_desc": "", + "status_type": "healthy", + "total_disk_iops": 0, + "total_disk_throughput": 0, + "total_net_receive": 0, + "total_net_send": 0, + "usb_device_name": None, + "usbs": ["unmounted", "unmounted", "unmounted", "unmounted"], + "use_ovmf": False, + "vcpu_num": 1, + "vcpu_usage": 25, + "vdisk_num": 1, + "video_card": "vmvga", + "vram_size": 1048576, + }, + ], + "is_freeze": False, + }, + "success": True, +} diff --git a/tests/test_synology_dsm_7.py b/tests/test_synology_dsm_7.py index 2efbe6a..7defc2a 100644 --- a/tests/test_synology_dsm_7.py +++ b/tests/test_synology_dsm_7.py @@ -15,6 +15,7 @@ from synology_dsm.api.photos import SynoPhotos from synology_dsm.api.storage.storage import SynoStorage from synology_dsm.api.surveillance_station import SynoSurveillanceStation +from synology_dsm.api.virtual_machine_manager import SynoVirtualMachineManager from synology_dsm.const import API_AUTH from synology_dsm.exceptions import SynologyDSMLogin2SARequiredException @@ -55,6 +56,7 @@ async def test_login(self, dsm_7): assert isinstance(dsm_7.system, SynoCoreSystem) assert isinstance(dsm_7.upgrade, SynoCoreUpgrade) assert isinstance(dsm_7.utilisation, SynoCoreUtilization) + assert isinstance(dsm_7.virtual_machine_manager, SynoVirtualMachineManager) @pytest.mark.asyncio async def test_login_2sa(self): @@ -292,3 +294,35 @@ async def test_photos(self, dsm_7): assert items[1].thumbnail_cache_key == "490_1628323817" assert items[2].file_name == "shared_3.jpg" assert items[2].thumbnail_cache_key == "96_1628323786" + + @pytest.mark.asyncio + async def test_virtual_machine_manager(self, dsm_7): + """Test vmm.""" + assert await dsm_7.login() + assert dsm_7.virtual_machine_manager + + await dsm_7.virtual_machine_manager.update() + guests = dsm_7.virtual_machine_manager.get_all_guests() + + assert guests + assert len(guests) == 2 + + assert guests[0].autorun is False + assert guests[0].description == "vDSM test" + assert guests[0].guest_id == "a39d0628-380e-42f8-8cb6-a00d6b930fa0" + assert guests[0].name == "vdsm" + assert guests[0].status == "shutdown" + assert guests[0].host_cpu_usage == 0 + assert guests[0].host_ram_usage == 0 + assert guests[0].vcpu_num == 1 + assert guests[0].vram_size == 1048576 + + assert guests[1].autorun is True + assert guests[1].description == "" + assert guests[1].guest_id == "2b4ec8c8-2bec-4daa-b36d-1a47b639254f" + assert guests[1].name == "lnx_test" + assert guests[1].status == "running" + assert guests[1].host_cpu_usage == 25 + assert guests[1].host_ram_usage == 1169544 + assert guests[1].vcpu_num == 1 + assert guests[1].vram_size == 1048576