]> git.proxmox.com Git - pmg-docs.git/blobdiff - api-viewer/apidata.js
update static schema info
[pmg-docs.git] / api-viewer / apidata.js
index 5e3877251aeddf005d0098e09c353181c125cc95..db6899ba9077dc1b4be3b80b946d6df7bd85ada6 100644 (file)
@@ -1,4 +1,4 @@
-var pmgapi = [
+var apiSchema = [
    {
       "children" : [
          {
@@ -5833,9 +5833,10 @@ var pmgapi = [
                                        "properties" : {
                                           "email" : {
                                              "description" : "Email address.",
-                                             "format" : "email",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "maxLength" : 512,
+                                             "minLength" : 3,
+                                             "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+                                             "type" : "string"
                                           },
                                           "profile" : {
                                              "description" : "Profile ID.",
@@ -7456,7 +7457,7 @@ var pmgapi = [
                               "hostrsapubkey" : {
                                  "description" : "Public SSH RSA key for the host.",
                                  "optional" : 0,
-                                 "pattern" : "^[A-Za-z0-9\\.\\/\\+]{200,}$",
+                                 "pattern" : "^[A-Za-z0-9\\.\\/\\+=]{200,}$",
                                  "type" : "string"
                               },
                               "ip" : {
@@ -7483,7 +7484,7 @@ var pmgapi = [
                               "rootrsapubkey" : {
                                  "description" : "Public SSH RSA key for the root user.",
                                  "optional" : 0,
-                                 "pattern" : "^[A-Za-z0-9\\.\\/\\+]{200,}$",
+                                 "pattern" : "^[A-Za-z0-9\\.\\/\\+=]{200,}$",
                                  "type" : "string"
                               }
                            },
@@ -7778,10 +7779,6 @@ var pmgapi = [
                                  "format" : "transport-domain-or-nexthop",
                                  "type" : "string"
                               },
-                              "domain" : {
-                                 "format" : "transport-domain-or-nexthop",
-                                 "type" : "string"
-                              },
                               "policy" : {
                                  "format" : "tls-policy",
                                  "type" : "string"
@@ -7852,10 +7849,6 @@ var pmgapi = [
                               "format" : "transport-domain-or-nexthop",
                               "type" : "string"
                            },
-                           "domain" : {
-                              "format" : "transport-domain-or-nexthop",
-                              "type" : "string"
-                           },
                            "policy" : {
                               "format" : "tls-policy",
                               "type" : "string"
@@ -7883,14 +7876,6 @@ var pmgapi = [
                         "destination" : {
                            "description" : "Destination (Domain or next-hop).",
                            "format" : "transport-domain-or-nexthop",
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "domain" : {
-                           "description" : "Deprecated - use 'destination'.",
-                           "format" : "transport-domain-or-nexthop",
-                           "optional" : 1,
                            "type" : "string",
                            "typetext" : "<string>"
                         },
@@ -8587,8 +8572,8 @@ var pmgapi = [
                               "datastore" : {
                                  "description" : "Proxmox Backup Server datastore name.",
                                  "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
+                                 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
+                                 "type" : "string"
                               },
                               "delete" : {
                                  "description" : "A list of settings you want to delete.",
@@ -8671,6 +8656,13 @@ var pmgapi = [
                                  "type" : "integer",
                                  "typetext" : "<N>"
                               },
+                              "namespace" : {
+                                 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
+                                 "maxLength" : 256,
+                                 "optional" : 1,
+                                 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
+                                 "type" : "string"
+                              },
                               "notify" : {
                                  "description" : "Specify when to notify via e-mail",
                                  "enum" : [
@@ -8753,6 +8745,7 @@ var pmgapi = [
                            "datastore" : {
                               "description" : "Proxmox Backup Server datastore name.",
                               "optional" : 0,
+                              "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
                               "type" : "string"
                            },
                            "disable" : {
@@ -8813,6 +8806,13 @@ var pmgapi = [
                               "optional" : 1,
                               "type" : "integer"
                            },
+                           "namespace" : {
+                              "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
+                              "maxLength" : 256,
+                              "optional" : 1,
+                              "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
+                              "type" : "string"
+                           },
                            "notify" : {
                               "description" : "Specify when to notify via e-mail",
                               "enum" : [
@@ -8871,8 +8871,8 @@ var pmgapi = [
                         "datastore" : {
                            "description" : "Proxmox Backup Server datastore name.",
                            "optional" : 0,
-                           "type" : "string",
-                           "typetext" : "<string>"
+                           "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
+                           "type" : "string"
                         },
                         "disable" : {
                            "description" : "Flag to disable (deactivate) the entry.",
@@ -8940,6 +8940,13 @@ var pmgapi = [
                            "type" : "integer",
                            "typetext" : "<N>"
                         },
+                        "namespace" : {
+                           "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
+                           "type" : "string"
+                        },
                         "notify" : {
                            "description" : "Specify when to notify via e-mail",
                            "enum" : [
@@ -9074,8 +9081,10 @@ var pmgapi = [
                                           "ali",
                                           "anx",
                                           "arvan",
+                                          "aurora",
                                           "autodns",
                                           "aws",
+                                          "azion",
                                           "azure",
                                           "cf",
                                           "clouddns",
@@ -9155,6 +9164,7 @@ var pmgapi = [
                                           "nsone",
                                           "nsupdate",
                                           "nw",
+                                          "oci",
                                           "one",
                                           "online",
                                           "openprovider",
@@ -9164,6 +9174,7 @@ var pmgapi = [
                                           "pdns",
                                           "pleskxml",
                                           "pointhq",
+                                          "porkbun",
                                           "rackcorp",
                                           "rackspace",
                                           "rcode0",
@@ -9178,8 +9189,10 @@ var pmgapi = [
                                           "ultra",
                                           "unoeuro",
                                           "variomedia",
+                                          "veesp",
                                           "vscale",
                                           "vultr",
+                                          "websupport",
                                           "world4you",
                                           "yandex",
                                           "zilore",
@@ -9322,8 +9335,10 @@ var pmgapi = [
                                     "ali",
                                     "anx",
                                     "arvan",
+                                    "aurora",
                                     "autodns",
                                     "aws",
+                                    "azion",
                                     "azure",
                                     "cf",
                                     "clouddns",
@@ -9403,6 +9418,7 @@ var pmgapi = [
                                     "nsone",
                                     "nsupdate",
                                     "nw",
+                                    "oci",
                                     "one",
                                     "online",
                                     "openprovider",
@@ -9412,6 +9428,7 @@ var pmgapi = [
                                     "pdns",
                                     "pleskxml",
                                     "pointhq",
+                                    "porkbun",
                                     "rackcorp",
                                     "rackspace",
                                     "rcode0",
@@ -9426,8 +9443,10 @@ var pmgapi = [
                                     "ultra",
                                     "unoeuro",
                                     "variomedia",
+                                    "veesp",
                                     "vscale",
                                     "vultr",
+                                    "websupport",
                                     "world4you",
                                     "yandex",
                                     "zilore",
@@ -9854,6 +9873,152 @@ var pmgapi = [
             "path" : "/config/acme",
             "text" : "acme"
          },
+         {
+            "children" : [
+               {
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 1,
+                        "description" : "Read the webauthn configuration.",
+                        "method" : "GET",
+                        "name" : "get_webauthn_config",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "user" : "all"
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "optional" : 1,
+                           "properties" : {
+                              "allow-subdomains" : {
+                                 "default" : 1,
+                                 "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.",
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "id" : {
+                                 "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "origin" : {
+                                 "description" : "Site origin. Must be a `https://` URL (or `http://localhost`). Should contain the address users type in their browsers to access the web interface.\nChanging this *may* break existing credentials.",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "rp" : {
+                                 "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              }
+                           },
+                           "type" : "object"
+                        }
+                     },
+                     "PUT" : {
+                        "allowtoken" : 1,
+                        "description" : "Read the webauthn configuration.",
+                        "method" : "PUT",
+                        "name" : "update_webauthn_config",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "allow-subdomains" : {
+                                 "default" : 1,
+                                 "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "delete" : {
+                                 "description" : "A list of settings you want to delete.",
+                                 "enum" : [
+                                    "id",
+                                    "origin",
+                                    "allow-subdomains",
+                                    "rp"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "digest" : {
+                                 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                 "maxLength" : 40,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "id" : {
+                                 "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "origin" : {
+                                 "description" : "Site origin. Must be a `https://` URL (or `http://localhost`). Should contain the address users type in their browsers to access the web interface.\nChanging this *may* break existing credentials.",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "rp" : {
+                                 "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
+                        "protected" : 1,
+                        "proxyto" : "master",
+                        "returns" : {
+                           "type" : "null"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/config/tfa/webauthn",
+                  "text" : "webauthn"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "allowtoken" : 1,
+                  "description" : "Directory index.",
+                  "method" : "GET",
+                  "name" : "index",
+                  "parameters" : {
+                     "additionalProperties" : 0
+                  },
+                  "returns" : {
+                     "items" : {
+                        "properties" : {
+                           "section" : {
+                              "type" : "string"
+                           }
+                        },
+                        "type" : "object"
+                     },
+                     "links" : [
+                        {
+                           "href" : "{section}",
+                           "rel" : "child"
+                        }
+                     ],
+                     "type" : "array"
+                  }
+               }
+            },
+            "leaf" : 0,
+            "path" : "/config/tfa",
+            "text" : "tfa"
+         },
          {
             "info" : {
                "GET" : {
@@ -10108,14 +10273,14 @@ var pmgapi = [
                            "typetext" : "<integer> (1000000 - N)"
                         },
                         "safebrowsing" : {
-                           "default" : 1,
-                           "description" : "Enables support for Google Safe Browsing.",
+                           "default" : 0,
+                           "description" : "Enables support for Google Safe Browsing. (deprecated option, will be ignored)",
                            "optional" : 1,
                            "type" : "boolean",
                            "typetext" : "<boolean>"
                         },
                         "scriptedupdates" : {
-                           "default" : 0,
+                           "default" : 1,
                            "description" : "Enables ScriptedUpdates (incremental download of signatures)",
                            "optional" : 1,
                            "type" : "boolean",
@@ -10303,7 +10468,7 @@ var pmgapi = [
                            "typetext" : "<integer> (1 - 65535)"
                         },
                         "max_filters" : {
-                           "default" : 35,
+                           "default" : 38,
                            "description" : "Maximum number of pmg-smtp-filter processes.",
                            "maximum" : 40,
                            "minimum" : 3,
@@ -10520,7 +10685,7 @@ var pmgapi = [
                         },
                         "clamav_heuristic_score" : {
                            "default" : 3,
-                           "description" : "Score for ClamAV heuristics (Encrypted Archives/Documents, Google Safe Browsing database, PhishingScanURLs, ...).",
+                           "description" : "Score for ClamAV heuristics (Encrypted Archives/Documents, PhishingScanURLs, ...).",
                            "maximum" : 1000,
                            "minimum" : 0,
                            "optional" : 1,
@@ -11038,6 +11203,13 @@ var pmgapi = [
                                                    "type" : "boolean",
                                                    "typetext" : "<boolean>"
                                                 },
+                                                "decode-header" : {
+                                                   "default" : 0,
+                                                   "description" : "Decodes the header fields.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
                                                 "header" : {
                                                    "default" : 1,
                                                    "description" : "Show message header content.",
@@ -12333,6 +12505,28 @@ var pmgapi = [
                         "returns" : {
                            "type" : "null"
                         }
+                     },
+                     "PUT" : {
+                        "allowtoken" : 1,
+                        "description" : "Reload network configuration",
+                        "method" : "PUT",
+                        "name" : "reload_network_config",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "protected" : 1,
+                        "proxyto" : "node",
+                        "returns" : {
+                           "type" : "string"
+                        }
                      }
                   },
                   "leaf" : 0,
@@ -12563,12 +12757,37 @@ var pmgapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "since" : {
+                                 "description" : "Only list tasks since this UNIX epoch.",
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer>"
+                              },
                               "start" : {
                                  "minimum" : 0,
                                  "optional" : 1,
                                  "type" : "integer",
                                  "typetext" : "<integer> (0 - N)"
                               },
+                              "statusfilter" : {
+                                 "description" : "List of Task States that should be returned.",
+                                 "format" : "pve-task-status-type-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "typefilter" : {
+                                 "description" : "Only list tasks of this type (e.g., aptupdate, saupdate).",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "until" : {
+                                 "description" : "Only list tasks until this UNIX epoch.",
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer>"
+                              },
                               "userfilter" : {
                                  "optional" : 1,
                                  "type" : "string",
@@ -12646,7 +12865,8 @@ var pmgapi = [
                                                 "pmg-hourly",
                                                 "pmg-daily",
                                                 "pmgreport",
-                                                "pmgspamreport"
+                                                "pmgspamreport",
+                                                "chrony"
                                              ],
                                              "type" : "string"
                                           }
@@ -12705,7 +12925,8 @@ var pmgapi = [
                                                 "pmg-hourly",
                                                 "pmg-daily",
                                                 "pmgreport",
-                                                "pmgspamreport"
+                                                "pmgspamreport",
+                                                "chrony"
                                              ],
                                              "type" : "string"
                                           }
@@ -12763,7 +12984,8 @@ var pmgapi = [
                                                 "pmg-hourly",
                                                 "pmg-daily",
                                                 "pmgreport",
-                                                "pmgspamreport"
+                                                "pmgspamreport",
+                                                "chrony"
                                              ],
                                              "type" : "string"
                                           }
@@ -12821,7 +13043,8 @@ var pmgapi = [
                                                 "pmg-hourly",
                                                 "pmg-daily",
                                                 "pmgreport",
-                                                "pmgspamreport"
+                                                "pmgspamreport",
+                                                "chrony"
                                              ],
                                              "type" : "string"
                                           }
@@ -12879,7 +13102,8 @@ var pmgapi = [
                                                 "pmg-hourly",
                                                 "pmg-daily",
                                                 "pmgreport",
-                                                "pmgspamreport"
+                                                "pmgspamreport",
+                                                "chrony"
                                              ],
                                              "type" : "string"
                                           }
@@ -12937,7 +13161,8 @@ var pmgapi = [
                                           "pmg-hourly",
                                           "pmg-daily",
                                           "pmgreport",
-                                          "pmgspamreport"
+                                          "pmgspamreport",
+                                          "chrony"
                                        ],
                                        "type" : "string"
                                     }
@@ -13268,9 +13493,9 @@ var pmgapi = [
                         "info" : {
                            "GET" : {
                               "allowtoken" : 1,
-                              "description" : "Get package information for important Proxmox packages.",
+                              "description" : "Get APT repository information.",
                               "method" : "GET",
-                              "name" : "versions",
+                              "name" : "repositories",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
@@ -13290,58 +13515,367 @@ var pmgapi = [
                               },
                               "proxyto" : "node",
                               "returns" : {
-                                 "items" : {
-                                    "properties" : {},
-                                    "type" : "object"
-                                 },
-                                 "type" : "array"
-                              }
-                           }
-                        },
-                        "leaf" : 1,
-                        "path" : "/nodes/{node}/apt/versions",
-                        "text" : "versions"
-                     }
-                  ],
-                  "info" : {
-                     "GET" : {
-                        "allowtoken" : 1,
-                        "description" : "Directory index for apt (Advanced Package Tool).",
-                        "method" : "GET",
-                        "name" : "index",
-                        "parameters" : {
-                           "additionalProperties" : 0,
-                           "properties" : {
-                              "node" : {
-                                 "description" : "The cluster node name.",
-                                 "format" : "pve-node",
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              }
-                           }
-                        },
-                        "permissions" : {
-                           "user" : "all"
-                        },
-                        "returns" : {
-                           "items" : {
-                              "properties" : {
-                                 "id" : {
-                                    "type" : "string"
-                                 }
-                              },
-                              "type" : "object"
-                           },
-                           "links" : [
-                              {
-                                 "href" : "{id}",
-                                 "rel" : "child"
-                              }
-                           ],
-                           "type" : "array"
-                        }
-                     }
-                  },
+                                 "description" : "Result from parsing the APT repository files in /etc/apt/.",
+                                 "properties" : {
+                                    "digest" : {
+                                       "description" : "Common digest of all files.",
+                                       "type" : "string"
+                                    },
+                                    "errors" : {
+                                       "description" : "List of problematic repository files.",
+                                       "items" : {
+                                          "properties" : {
+                                             "error" : {
+                                                "description" : "The error message",
+                                                "type" : "string"
+                                             },
+                                             "path" : {
+                                                "description" : "Path to the problematic file.",
+                                                "type" : "string"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    },
+                                    "files" : {
+                                       "description" : "List of parsed repository files.",
+                                       "items" : {
+                                          "properties" : {
+                                             "digest" : {
+                                                "description" : "Digest of the file as bytes.",
+                                                "items" : {
+                                                   "type" : "integer"
+                                                },
+                                                "type" : "array"
+                                             },
+                                             "file-type" : {
+                                                "description" : "Format of the file.",
+                                                "enum" : [
+                                                   "list",
+                                                   "sources"
+                                                ],
+                                                "type" : "string"
+                                             },
+                                             "path" : {
+                                                "description" : "Path to the problematic file.",
+                                                "type" : "string"
+                                             },
+                                             "repositories" : {
+                                                "description" : "The parsed repositories.",
+                                                "items" : {
+                                                   "properties" : {
+                                                      "Comment" : {
+                                                         "description" : "Associated comment",
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "Components" : {
+                                                         "description" : "List of repository components",
+                                                         "items" : {
+                                                            "type" : "string"
+                                                         },
+                                                         "optional" : 1,
+                                                         "type" : "array"
+                                                      },
+                                                      "Enabled" : {
+                                                         "description" : "Whether the repository is enabled or not",
+                                                         "type" : "boolean"
+                                                      },
+                                                      "FileType" : {
+                                                         "description" : "Format of the defining file.",
+                                                         "enum" : [
+                                                            "list",
+                                                            "sources"
+                                                         ],
+                                                         "type" : "string"
+                                                      },
+                                                      "Options" : {
+                                                         "description" : "Additional options",
+                                                         "items" : {
+                                                            "properties" : {
+                                                               "Key" : {
+                                                                  "type" : "string"
+                                                               },
+                                                               "Values" : {
+                                                                  "items" : {
+                                                                     "type" : "string"
+                                                                  },
+                                                                  "type" : "array"
+                                                               }
+                                                            },
+                                                            "type" : "object"
+                                                         },
+                                                         "optional" : 1,
+                                                         "type" : "array"
+                                                      },
+                                                      "Suites" : {
+                                                         "description" : "List of package distribuitions",
+                                                         "items" : {
+                                                            "type" : "string"
+                                                         },
+                                                         "type" : "array"
+                                                      },
+                                                      "Types" : {
+                                                         "description" : "List of package types.",
+                                                         "items" : {
+                                                            "enum" : [
+                                                               "deb",
+                                                               "deb-src"
+                                                            ],
+                                                            "type" : "string"
+                                                         },
+                                                         "type" : "array"
+                                                      },
+                                                      "URIs" : {
+                                                         "description" : "List of repository URIs.",
+                                                         "items" : {
+                                                            "type" : "string"
+                                                         },
+                                                         "type" : "array"
+                                                      }
+                                                   },
+                                                   "type" : "object"
+                                                },
+                                                "type" : "array"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    },
+                                    "infos" : {
+                                       "description" : "Additional information/warnings for APT repositories.",
+                                       "items" : {
+                                          "properties" : {
+                                             "index" : {
+                                                "description" : "Index of the associated repository within the file.",
+                                                "type" : "string"
+                                             },
+                                             "kind" : {
+                                                "description" : "Kind of the information (e.g. warning).",
+                                                "type" : "string"
+                                             },
+                                             "message" : {
+                                                "description" : "Information message.",
+                                                "type" : "string"
+                                             },
+                                             "path" : {
+                                                "description" : "Path to the associated file.",
+                                                "type" : "string"
+                                             },
+                                             "property" : {
+                                                "description" : "Property from which the info originates.",
+                                                "optional" : 1,
+                                                "type" : "string"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    },
+                                    "standard-repos" : {
+                                       "description" : "List of standard repositories and their configuration status",
+                                       "items" : {
+                                          "properties" : {
+                                             "description" : {
+                                                "description" : "Description of the repository.",
+                                                "type" : "string"
+                                             },
+                                             "handle" : {
+                                                "description" : "Handle to identify the repository.",
+                                                "type" : "string"
+                                             },
+                                             "name" : {
+                                                "description" : "Display name of the repository.",
+                                                "type" : "string"
+                                             },
+                                             "status" : {
+                                                "description" : "Indicating enabled/disabled status, if the repository is configured.",
+                                                "optional" : 1,
+                                                "type" : "boolean"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    }
+                                 },
+                                 "type" : "object"
+                              }
+                           },
+                           "POST" : {
+                              "allowtoken" : 1,
+                              "description" : "Change the properties of a repository. Currently only allows enabling/disabling.",
+                              "method" : "POST",
+                              "name" : "change_repository",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "digest" : {
+                                       "description" : "Digest to detect modifications.",
+                                       "maxLength" : 80,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "enabled" : {
+                                       "description" : "Whether the repository should be enabled or not.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "index" : {
+                                       "description" : "Index within the file (starting from 0).",
+                                       "type" : "integer",
+                                       "typetext" : "<integer>"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "path" : {
+                                       "description" : "Path to the containing file.",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           },
+                           "PUT" : {
+                              "allowtoken" : 1,
+                              "description" : "Add a standard repository to the configuration",
+                              "method" : "PUT",
+                              "name" : "add_repository",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "digest" : {
+                                       "description" : "Digest to detect modifications.",
+                                       "maxLength" : 80,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "handle" : {
+                                       "description" : "Handle that identifies a repository.",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/apt/repositories",
+                        "text" : "repositories"
+                     },
+                     {
+                        "info" : {
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "Get package information for important Proxmox packages.",
+                              "method" : "GET",
+                              "name" : "versions",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {},
+                                    "type" : "object"
+                                 },
+                                 "type" : "array"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/apt/versions",
+                        "text" : "versions"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 1,
+                        "description" : "Directory index for apt (Advanced Package Tool).",
+                        "method" : "GET",
+                        "name" : "index",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "user" : "all"
+                        },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {
+                                 "id" : {
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{id}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     }
+                  },
                   "leaf" : 0,
                   "path" : "/nodes/{node}/apt",
                   "text" : "apt"
@@ -14400,6 +14934,7 @@ var pmgapi = [
                                  "datastore" : {
                                     "description" : "Proxmox Backup Server datastore name.",
                                     "optional" : 0,
+                                    "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
                                     "type" : "string"
                                  },
                                  "disable" : {
@@ -14460,6 +14995,13 @@ var pmgapi = [
                                     "optional" : 1,
                                     "type" : "integer"
                                  },
+                                 "namespace" : {
+                                    "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
+                                    "maxLength" : 256,
+                                    "optional" : 1,
+                                    "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
+                                    "type" : "string"
+                                 },
                                  "notify" : {
                                     "description" : "Specify when to notify via e-mail",
                                     "enum" : [
@@ -15475,8 +16017,8 @@ var pmgapi = [
                                  "default" : "login",
                                  "description" : "Run specific command or default to login.",
                                  "enum" : [
-                                    "upgrade",
-                                    "login"
+                                    "login",
+                                    "upgrade"
                                  ],
                                  "optional" : 1,
                                  "type" : "string"
@@ -15494,13 +16036,6 @@ var pmgapi = [
                                  "format" : "pve-node",
                                  "type" : "string",
                                  "typetext" : "<string>"
-                              },
-                              "upgrade" : {
-                                 "default" : 0,
-                                 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
-                                 "optional" : 1,
-                                 "type" : "boolean",
-                                 "typetext" : "<boolean>"
                               }
                            }
                         },
@@ -16250,19 +16785,434 @@ var pmgapi = [
             "text" : "users"
          },
          {
-            "info" : {
-               "GET" : {
-                  "allowtoken" : 1,
-                  "description" : "Dummy. Useful for formaters which want to priovde a login page.",
-                  "method" : "GET",
-                  "name" : "get_ticket",
-                  "parameters" : {
-                     "additionalProperties" : 0
-                  },
-                  "permissions" : {
-                     "user" : "world"
-                  },
-                  "returns" : {
+            "children" : [
+               {
+                  "children" : [
+                     {
+                        "info" : {
+                           "DELETE" : {
+                              "allowtoken" : 0,
+                              "description" : "Delete a TFA entry by ID.",
+                              "method" : "DELETE",
+                              "name" : "delete_tfa",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "id" : {
+                                       "description" : "A TFA entry id.",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "password" : {
+                                       "description" : "The current password.",
+                                       "maxLength" : 64,
+                                       "minLength" : 5,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "userid" : {
+                                       "description" : "User ID",
+                                       "format" : "pmg-userid",
+                                       "maxLength" : 64,
+                                       "minLength" : 4,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "qmanager",
+                                    "audit"
+                                 ],
+                                 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
+                              },
+                              "protected" : 1,
+                              "proxyto" : "master",
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           },
+                           "GET" : {
+                              "allowtoken" : 0,
+                              "description" : "Fetch a requested TFA entry if present.",
+                              "method" : "GET",
+                              "name" : "get_tfa_entry",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "id" : {
+                                       "description" : "A TFA entry id.",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "userid" : {
+                                       "description" : "User ID",
+                                       "format" : "pmg-userid",
+                                       "maxLength" : 64,
+                                       "minLength" : 4,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.",
+                                 "user" : "all"
+                              },
+                              "protected" : 1,
+                              "proxyto" : "master",
+                              "returns" : {
+                                 "description" : "TFA Entry.",
+                                 "properties" : {
+                                    "created" : {
+                                       "description" : "Creation time of this entry as unix epoch.",
+                                       "type" : "integer"
+                                    },
+                                    "description" : {
+                                       "description" : "User chosen description for this entry.",
+                                       "type" : "string"
+                                    },
+                                    "enable" : {
+                                       "default" : 1,
+                                       "description" : "Whether this TFA entry is currently enabled.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "id" : {
+                                       "description" : "The id used to reference this entry.",
+                                       "type" : "string"
+                                    },
+                                    "type" : {
+                                       "description" : "TFA Entry Type.",
+                                       "enum" : [
+                                          "totp",
+                                          "u2f",
+                                          "webauthn",
+                                          "recovery"
+                                       ],
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "type" : "object"
+                              }
+                           },
+                           "PUT" : {
+                              "allowtoken" : 0,
+                              "description" : "Add a TFA entry for a user.",
+                              "method" : "PUT",
+                              "name" : "update_tfa_entry",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "description" : {
+                                       "description" : "A description to distinguish multiple entries from one another",
+                                       "maxLength" : 255,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "enable" : {
+                                       "description" : "Whether the entry should be enabled for login.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "id" : {
+                                       "description" : "A TFA entry id.",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "password" : {
+                                       "description" : "The current password.",
+                                       "maxLength" : 64,
+                                       "minLength" : 5,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "userid" : {
+                                       "description" : "User ID",
+                                       "format" : "pmg-userid",
+                                       "maxLength" : 64,
+                                       "minLength" : 4,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "qmanager",
+                                    "audit"
+                                 ],
+                                 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
+                              },
+                              "protected" : 1,
+                              "proxyto" : "master",
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/access/tfa/{userid}/{id}",
+                        "text" : "{id}"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 0,
+                        "description" : "List TFA configurations of users.",
+                        "method" : "GET",
+                        "name" : "list_user_tfa",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "userid" : {
+                                 "description" : "User ID",
+                                 "format" : "pmg-userid",
+                                 "maxLength" : 64,
+                                 "minLength" : 4,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.",
+                           "user" : "all"
+                        },
+                        "protected" : 1,
+                        "proxyto" : "master",
+                        "returns" : {
+                           "description" : "A list of the user's TFA entries.",
+                           "items" : {
+                              "description" : "TFA Entry.",
+                              "properties" : {
+                                 "created" : {
+                                    "description" : "Creation time of this entry as unix epoch.",
+                                    "type" : "integer"
+                                 },
+                                 "description" : {
+                                    "description" : "User chosen description for this entry.",
+                                    "type" : "string"
+                                 },
+                                 "enable" : {
+                                    "default" : 1,
+                                    "description" : "Whether this TFA entry is currently enabled.",
+                                    "optional" : 1,
+                                    "type" : "boolean"
+                                 },
+                                 "id" : {
+                                    "description" : "The id used to reference this entry.",
+                                    "type" : "string"
+                                 },
+                                 "type" : {
+                                    "description" : "TFA Entry Type.",
+                                    "enum" : [
+                                       "totp",
+                                       "u2f",
+                                       "webauthn",
+                                       "recovery"
+                                    ],
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "type" : "array"
+                        }
+                     },
+                     "POST" : {
+                        "allowtoken" : 0,
+                        "description" : "Add a TFA entry for a user.",
+                        "method" : "POST",
+                        "name" : "add_tfa_entry",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "challenge" : {
+                                 "description" : "When responding to a u2f challenge: the original challenge string",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "description" : {
+                                 "description" : "A description to distinguish multiple entries from one another",
+                                 "maxLength" : 255,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "password" : {
+                                 "description" : "The current password.",
+                                 "maxLength" : 64,
+                                 "minLength" : 5,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "totp" : {
+                                 "description" : "A totp URI.",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "type" : {
+                                 "description" : "TFA Entry Type.",
+                                 "enum" : [
+                                    "totp",
+                                    "u2f",
+                                    "webauthn",
+                                    "recovery"
+                                 ],
+                                 "type" : "string"
+                              },
+                              "userid" : {
+                                 "description" : "User ID",
+                                 "format" : "pmg-userid",
+                                 "maxLength" : 64,
+                                 "minLength" : 4,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "value" : {
+                                 "description" : "The current value for the provided totp URI, or a Webauthn/U2F challenge response",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "qmanager",
+                              "audit"
+                           ],
+                           "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
+                        },
+                        "protected" : 1,
+                        "proxyto" : "master",
+                        "returns" : {
+                           "properties" : {
+                              "challenge" : {
+                                 "description" : "When adding u2f entries, this contains a challenge the user must respond to in order to finish the registration.",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "id" : {
+                                 "description" : "The id of a newly added TFA entry.",
+                                 "type" : "string"
+                              },
+                              "recovery" : {
+                                 "description" : "When adding recovery codes, this contains the list of codes to be displayed to the user",
+                                 "items" : {
+                                    "description" : "A recovery entry.",
+                                    "type" : "string"
+                                 },
+                                 "optional" : 1,
+                                 "type" : "array"
+                              }
+                           },
+                           "type" : "object"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/access/tfa/{userid}",
+                  "text" : "{userid}"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "allowtoken" : 0,
+                  "description" : "List TFA configurations of users.",
+                  "method" : "GET",
+                  "name" : "list_tfa",
+                  "parameters" : {
+                     "additionalProperties" : 0
+                  },
+                  "permissions" : {
+                     "description" : "Returns all or just the logged-in user, depending on privileges.",
+                     "user" : "all"
+                  },
+                  "protected" : 1,
+                  "proxyto" : "master",
+                  "returns" : {
+                     "description" : "The list tuples of user and TFA entries.",
+                     "items" : {
+                        "properties" : {
+                           "entries" : {
+                              "items" : {
+                                 "description" : "TFA Entry.",
+                                 "properties" : {
+                                    "created" : {
+                                       "description" : "Creation time of this entry as unix epoch.",
+                                       "type" : "integer"
+                                    },
+                                    "description" : {
+                                       "description" : "User chosen description for this entry.",
+                                       "type" : "string"
+                                    },
+                                    "enable" : {
+                                       "default" : 1,
+                                       "description" : "Whether this TFA entry is currently enabled.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "id" : {
+                                       "description" : "The id used to reference this entry.",
+                                       "type" : "string"
+                                    },
+                                    "type" : {
+                                       "description" : "TFA Entry Type.",
+                                       "enum" : [
+                                          "totp",
+                                          "u2f",
+                                          "webauthn",
+                                          "recovery"
+                                       ],
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "type" : "object"
+                              },
+                              "type" : "array"
+                           },
+                           "userid" : {
+                              "description" : "User this entry belongs to.",
+                              "type" : "string"
+                           }
+                        },
+                        "type" : "object"
+                     },
+                     "type" : "array"
+                  }
+               }
+            },
+            "leaf" : 0,
+            "path" : "/access/tfa",
+            "text" : "tfa"
+         },
+         {
+            "info" : {
+               "GET" : {
+                  "allowtoken" : 1,
+                  "description" : "Dummy. Useful for formaters which want to priovde a login page.",
+                  "method" : "GET",
+                  "name" : "get_ticket",
+                  "parameters" : {
+                     "additionalProperties" : 0
+                  },
+                  "permissions" : {
+                     "user" : "world"
+                  },
+                  "returns" : {
                      "type" : "null"
                   }
                },
@@ -16303,6 +17253,12 @@ var pmgapi = [
                            "optional" : 1,
                            "type" : "string"
                         },
+                        "tfa-challenge" : {
+                           "description" : "The signed TFA challenge string the user wants to respond to.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "username" : {
                            "description" : "User name",
                            "maxLength" : 64,
@@ -16422,52 +17378,6 @@ var pmgapi = [
    {
       "children" : [
          {
-            "children" : [
-               {
-                  "info" : {
-                     "DELETE" : {
-                        "allowtoken" : 1,
-                        "description" : "Delete user whitelist entries.",
-                        "method" : "DELETE",
-                        "name" : "whitelist_delete",
-                        "parameters" : {
-                           "additionalProperties" : 0,
-                           "properties" : {
-                              "address" : {
-                                 "description" : "The address you want to remove.",
-                                 "minLength" : 3,
-                                 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
-                                 "type" : "string"
-                              },
-                              "pmail" : {
-                                 "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
-                                 "maxLength" : 512,
-                                 "minLength" : 3,
-                                 "optional" : 1,
-                                 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
-                                 "type" : "string"
-                              }
-                           }
-                        },
-                        "permissions" : {
-                           "check" : [
-                              "admin",
-                              "qmanager",
-                              "audit",
-                              "quser"
-                           ]
-                        },
-                        "protected" : 1,
-                        "returns" : {
-                           "type" : "null"
-                        }
-                     }
-                  },
-                  "leaf" : 1,
-                  "path" : "/quarantine/whitelist/{address}",
-                  "text" : "{address}"
-               }
-            ],
             "info" : {
                "DELETE" : {
                   "allowtoken" : 1,
@@ -16582,57 +17492,11 @@ var pmgapi = [
                   }
                }
             },
-            "leaf" : 0,
+            "leaf" : 1,
             "path" : "/quarantine/whitelist",
             "text" : "whitelist"
          },
          {
-            "children" : [
-               {
-                  "info" : {
-                     "DELETE" : {
-                        "allowtoken" : 1,
-                        "description" : "Delete user blacklist entries.",
-                        "method" : "DELETE",
-                        "name" : "blacklist_delete",
-                        "parameters" : {
-                           "additionalProperties" : 0,
-                           "properties" : {
-                              "address" : {
-                                 "description" : "The address you want to remove.",
-                                 "minLength" : 3,
-                                 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
-                                 "type" : "string"
-                              },
-                              "pmail" : {
-                                 "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
-                                 "maxLength" : 512,
-                                 "minLength" : 3,
-                                 "optional" : 1,
-                                 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
-                                 "type" : "string"
-                              }
-                           }
-                        },
-                        "permissions" : {
-                           "check" : [
-                              "admin",
-                              "qmanager",
-                              "audit",
-                              "quser"
-                           ]
-                        },
-                        "protected" : 1,
-                        "returns" : {
-                           "type" : "null"
-                        }
-                     }
-                  },
-                  "leaf" : 1,
-                  "path" : "/quarantine/blacklist/{address}",
-                  "text" : "{address}"
-               }
-            ],
             "info" : {
                "DELETE" : {
                   "allowtoken" : 1,
@@ -16747,7 +17611,7 @@ var pmgapi = [
                   }
                }
             },
-            "leaf" : 0,
+            "leaf" : 1,
             "path" : "/quarantine/blacklist",
             "text" : "blacklist"
          },
@@ -17401,207 +18265,88 @@ var pmgapi = [
                   },
                   "permissions" : {
                      "check" : [
-                        "admin",
-                        "qmanager",
-                        "audit",
-                        "quser"
-                     ]
-                  },
-                  "returns" : {
-                     "type" : "object"
-                  }
-               }
-            },
-            "leaf" : 1,
-            "path" : "/quarantine/download",
-            "text" : "download"
-         },
-         {
-            "info" : {
-               "POST" : {
-                  "allowtoken" : 1,
-                  "description" : "Send Quarantine link to given e-mail.",
-                  "method" : "POST",
-                  "name" : "sendlink",
-                  "parameters" : {
-                     "additionalProperties" : 0,
-                     "properties" : {
-                        "mail" : {
-                           "description" : "Email Address (allow most characters).",
-                           "maxLength" : 512,
-                           "minLength" : 3,
-                           "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
-                           "type" : "string"
-                        }
-                     }
-                  },
-                  "permissions" : {
-                     "user" : "world"
-                  },
-                  "protected" : 1,
-                  "returns" : {
-                     "type" : "null"
-                  }
-               }
-            },
-            "leaf" : 1,
-            "path" : "/quarantine/sendlink",
-            "text" : "sendlink"
-         }
-      ],
-      "info" : {
-         "GET" : {
-            "allowtoken" : 1,
-            "description" : "Directory index.",
-            "method" : "GET",
-            "name" : "index",
-            "parameters" : {
-               "additionalProperties" : 0
-            },
-            "permissions" : {
-               "user" : "all"
-            },
-            "returns" : {
-               "items" : {
-                  "properties" : {},
-                  "type" : "object"
-               },
-               "links" : [
-                  {
-                     "href" : "{name}",
-                     "rel" : "child"
-                  }
-               ],
-               "type" : "array"
-            }
-         }
-      },
-      "leaf" : 0,
-      "path" : "/quarantine",
-      "text" : "quarantine"
-   },
-   {
-      "children" : [
-         {
-            "children" : [
-               {
-                  "info" : {
-                     "GET" : {
-                        "allowtoken" : 1,
-                        "description" : "Detailed Contact Statistics.",
-                        "method" : "GET",
-                        "name" : "contactdetails",
-                        "parameters" : {
-                           "additionalProperties" : 0,
-                           "properties" : {
-                              "contact" : {
-                                 "description" : "Contact email address.",
-                                 "maxLength" : 512,
-                                 "minLength" : 3,
-                                 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
-                                 "type" : "string"
-                              },
-                              "day" : {
-                                 "description" : "Day of month. Get statistics for a single day.",
-                                 "maximum" : 31,
-                                 "minimum" : 1,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (1 - 31)"
-                              },
-                              "endtime" : {
-                                 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
-                                 "minimum" : 1,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (1 - N)"
-                              },
-                              "filter" : {
-                                 "description" : "Sender address filter.",
-                                 "maxLength" : 512,
-                                 "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              },
-                              "month" : {
-                                 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
-                                 "maximum" : 12,
-                                 "minimum" : 1,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (1 - 12)"
-                              },
-                              "orderby" : {
-                                 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
-                                 "maxLength" : 4096,
-                                 "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              },
-                              "starttime" : {
-                                 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
-                                 "minimum" : 0,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (0 - N)"
-                              },
-                              "year" : {
-                                 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
-                                 "maximum" : 3000,
-                                 "minimum" : 1900,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (1900 - 3000)"
-                              }
-                           }
-                        },
-                        "permissions" : {
-                           "check" : [
-                              "admin",
-                              "qmanager",
-                              "audit"
-                           ]
-                        },
-                        "returns" : {
-                           "items" : {
-                              "properties" : {
-                                 "blocked" : {
-                                    "description" : "Mail was blocked.",
-                                    "type" : "boolean"
-                                 },
-                                 "bytes" : {
-                                    "description" : "Mail traffic (Bytes).",
-                                    "type" : "number"
-                                 },
-                                 "sender" : {
-                                    "description" : "Sender email.",
-                                    "type" : "string"
-                                 },
-                                 "spamlevel" : {
-                                    "description" : "Spam score.",
-                                    "type" : "number"
-                                 },
-                                 "time" : {
-                                    "description" : "Receive time stamp",
-                                    "type" : "integer"
-                                 },
-                                 "virusinfo" : {
-                                    "description" : "Virus name.",
-                                    "optional" : 1,
-                                    "type" : "string"
-                                 }
-                              },
-                              "type" : "object"
-                           },
-                           "type" : "array"
+                        "admin",
+                        "qmanager",
+                        "audit",
+                        "quser"
+                     ]
+                  },
+                  "returns" : {
+                     "type" : "object"
+                  }
+               }
+            },
+            "leaf" : 1,
+            "path" : "/quarantine/download",
+            "text" : "download"
+         },
+         {
+            "info" : {
+               "POST" : {
+                  "allowtoken" : 1,
+                  "description" : "Send Quarantine link to given e-mail.",
+                  "method" : "POST",
+                  "name" : "sendlink",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "mail" : {
+                           "description" : "Email Address (allow most characters).",
+                           "maxLength" : 512,
+                           "minLength" : 3,
+                           "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+                           "type" : "string"
                         }
                      }
                   },
-                  "leaf" : 1,
-                  "path" : "/statistics/contact/{contact}",
-                  "text" : "{contact}"
+                  "permissions" : {
+                     "user" : "world"
+                  },
+                  "protected" : 1,
+                  "returns" : {
+                     "type" : "null"
+                  }
                }
-            ],
+            },
+            "leaf" : 1,
+            "path" : "/quarantine/sendlink",
+            "text" : "sendlink"
+         }
+      ],
+      "info" : {
+         "GET" : {
+            "allowtoken" : 1,
+            "description" : "Directory index.",
+            "method" : "GET",
+            "name" : "index",
+            "parameters" : {
+               "additionalProperties" : 0
+            },
+            "permissions" : {
+               "user" : "all"
+            },
+            "returns" : {
+               "items" : {
+                  "properties" : {},
+                  "type" : "object"
+               },
+               "links" : [
+                  {
+                     "href" : "{name}",
+                     "rel" : "child"
+                  }
+               ],
+               "type" : "array"
+            }
+         }
+      },
+      "leaf" : 0,
+      "path" : "/quarantine",
+      "text" : "quarantine"
+   },
+   {
+      "children" : [
+         {
             "info" : {
                "GET" : {
                   "allowtoken" : 1,
@@ -17706,7 +18451,7 @@ var pmgapi = [
                   }
                }
             },
-            "leaf" : 0,
+            "leaf" : 1,
             "path" : "/statistics/contact",
             "text" : "contact"
          },
@@ -17843,125 +18588,6 @@ var pmgapi = [
             "text" : "detail"
          },
          {
-            "children" : [
-               {
-                  "info" : {
-                     "GET" : {
-                        "allowtoken" : 1,
-                        "description" : "Detailed Sender Statistics.",
-                        "method" : "GET",
-                        "name" : "senderdetails",
-                        "parameters" : {
-                           "additionalProperties" : 0,
-                           "properties" : {
-                              "day" : {
-                                 "description" : "Day of month. Get statistics for a single day.",
-                                 "maximum" : 31,
-                                 "minimum" : 1,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (1 - 31)"
-                              },
-                              "endtime" : {
-                                 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
-                                 "minimum" : 1,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (1 - N)"
-                              },
-                              "filter" : {
-                                 "description" : "Receiver address filter.",
-                                 "maxLength" : 512,
-                                 "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              },
-                              "month" : {
-                                 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
-                                 "maximum" : 12,
-                                 "minimum" : 1,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (1 - 12)"
-                              },
-                              "orderby" : {
-                                 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
-                                 "maxLength" : 4096,
-                                 "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              },
-                              "sender" : {
-                                 "description" : "Sender email address.",
-                                 "maxLength" : 512,
-                                 "minLength" : 3,
-                                 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
-                                 "type" : "string"
-                              },
-                              "starttime" : {
-                                 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
-                                 "minimum" : 0,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (0 - N)"
-                              },
-                              "year" : {
-                                 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
-                                 "maximum" : 3000,
-                                 "minimum" : 1900,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (1900 - 3000)"
-                              }
-                           }
-                        },
-                        "permissions" : {
-                           "check" : [
-                              "admin",
-                              "qmanager",
-                              "audit"
-                           ]
-                        },
-                        "returns" : {
-                           "items" : {
-                              "properties" : {
-                                 "blocked" : {
-                                    "description" : "Mail was blocked.",
-                                    "type" : "boolean"
-                                 },
-                                 "bytes" : {
-                                    "description" : "Mail traffic (Bytes).",
-                                    "type" : "number"
-                                 },
-                                 "receiver" : {
-                                    "description" : "Receiver email.",
-                                    "type" : "string"
-                                 },
-                                 "spamlevel" : {
-                                    "description" : "Spam score.",
-                                    "type" : "number"
-                                 },
-                                 "time" : {
-                                    "description" : "Receive time stamp",
-                                    "type" : "integer"
-                                 },
-                                 "virusinfo" : {
-                                    "description" : "Virus name.",
-                                    "optional" : 1,
-                                    "type" : "string"
-                                 }
-                              },
-                              "type" : "object"
-                           },
-                           "type" : "array"
-                        }
-                     }
-                  },
-                  "leaf" : 1,
-                  "path" : "/statistics/sender/{sender}",
-                  "text" : "{sender}"
-               }
-            ],
             "info" : {
                "GET" : {
                   "allowtoken" : 1,
@@ -18066,130 +18692,11 @@ var pmgapi = [
                   }
                }
             },
-            "leaf" : 0,
+            "leaf" : 1,
             "path" : "/statistics/sender",
             "text" : "sender"
          },
          {
-            "children" : [
-               {
-                  "info" : {
-                     "GET" : {
-                        "allowtoken" : 1,
-                        "description" : "Detailed Receiver Statistics.",
-                        "method" : "GET",
-                        "name" : "receiverdetails",
-                        "parameters" : {
-                           "additionalProperties" : 0,
-                           "properties" : {
-                              "day" : {
-                                 "description" : "Day of month. Get statistics for a single day.",
-                                 "maximum" : 31,
-                                 "minimum" : 1,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (1 - 31)"
-                              },
-                              "endtime" : {
-                                 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
-                                 "minimum" : 1,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (1 - N)"
-                              },
-                              "filter" : {
-                                 "description" : "Sender address filter.",
-                                 "maxLength" : 512,
-                                 "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              },
-                              "month" : {
-                                 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
-                                 "maximum" : 12,
-                                 "minimum" : 1,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (1 - 12)"
-                              },
-                              "orderby" : {
-                                 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
-                                 "maxLength" : 4096,
-                                 "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              },
-                              "receiver" : {
-                                 "description" : "Receiver email address.",
-                                 "maxLength" : 512,
-                                 "minLength" : 3,
-                                 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
-                                 "type" : "string"
-                              },
-                              "starttime" : {
-                                 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
-                                 "minimum" : 0,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (0 - N)"
-                              },
-                              "year" : {
-                                 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
-                                 "maximum" : 3000,
-                                 "minimum" : 1900,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (1900 - 3000)"
-                              }
-                           }
-                        },
-                        "permissions" : {
-                           "check" : [
-                              "admin",
-                              "qmanager",
-                              "audit"
-                           ]
-                        },
-                        "returns" : {
-                           "items" : {
-                              "properties" : {
-                                 "blocked" : {
-                                    "description" : "Mail was blocked.",
-                                    "type" : "boolean"
-                                 },
-                                 "bytes" : {
-                                    "description" : "Mail traffic (Bytes).",
-                                    "type" : "number"
-                                 },
-                                 "sender" : {
-                                    "description" : "Sender email.",
-                                    "type" : "string"
-                                 },
-                                 "spamlevel" : {
-                                    "description" : "Spam score.",
-                                    "type" : "number"
-                                 },
-                                 "time" : {
-                                    "description" : "Receive time stamp",
-                                    "type" : "integer"
-                                 },
-                                 "virusinfo" : {
-                                    "description" : "Virus name.",
-                                    "optional" : 1,
-                                    "type" : "string"
-                                 }
-                              },
-                              "type" : "object"
-                           },
-                           "type" : "array"
-                        }
-                     }
-                  },
-                  "leaf" : 1,
-                  "path" : "/statistics/receiver/{receiver}",
-                  "text" : "{receiver}"
-               }
-            ],
             "info" : {
                "GET" : {
                   "allowtoken" : 1,
@@ -18299,7 +18806,7 @@ var pmgapi = [
                   }
                }
             },
-            "leaf" : 0,
+            "leaf" : 1,
             "path" : "/statistics/receiver",
             "text" : "receiver"
          },