]> git.proxmox.com Git - pmg-docs.git/blobdiff - api-viewer/apidata.js
bump version to 5.0-11
[pmg-docs.git] / api-viewer / apidata.js
index 1990b16ec66ddcf9b11e4aa54115ad51efa6a355..b3820ea08fe96913ed3751157503084e68ac76a8 100644 (file)
@@ -12,6 +12,12 @@ var pmgapi = [
                         "parameters" : {
                            "additionalProperties" : 0
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "returns" : {
                            "type" : "string"
                         }
@@ -41,6 +47,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "proxyto" : "master",
                                     "returns" : {
                                        "properties" : {
@@ -105,6 +117,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -139,6 +156,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -166,6 +188,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "proxyto" : "master",
                                     "returns" : {
                                        "items" : {
@@ -198,6 +226,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -232,6 +265,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -259,6 +297,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "proxyto" : "master",
                                     "returns" : {
                                        "items" : {
@@ -291,6 +335,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -325,6 +374,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -352,6 +406,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "proxyto" : "master",
                                     "returns" : {
                                        "items" : {
@@ -384,6 +444,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -418,6 +483,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -445,6 +515,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "proxyto" : "master",
                                     "returns" : {
                                        "items" : {
@@ -477,6 +553,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -511,6 +592,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -538,6 +624,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "proxyto" : "master",
                                     "returns" : {
                                        "items" : {
@@ -570,6 +662,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -597,6 +694,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
@@ -617,6 +719,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "returns" : {
                                  "items" : {
                                     "properties" : {
@@ -649,6 +757,12 @@ var pmgapi = [
                         "parameters" : {
                            "additionalProperties" : 0
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "proxyto" : "master",
                         "returns" : {
                            "items" : {
@@ -703,6 +817,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -734,6 +853,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -754,6 +878,12 @@ var pmgapi = [
                               "parameters" : {
                                  "additionalProperties" : 0
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "proxyto" : "master",
                               "returns" : {
                                  "items" : {
@@ -798,6 +928,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "proxyto" : "master",
                                     "returns" : {
                                        "properties" : {
@@ -849,6 +985,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -897,6 +1038,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
@@ -908,69 +1054,35 @@ var pmgapi = [
                         "leaf" : 0,
                         "path" : "/config/ruledb/action/bcc",
                         "text" : "bcc"
-                     }
-                  ],
-                  "info" : {
-                     "GET" : {
-                        "description" : "Directory index.",
-                        "method" : "GET",
-                        "name" : "index",
-                        "parameters" : {
-                           "additionalProperties" : 0
-                        },
-                        "returns" : {
-                           "items" : {
-                              "properties" : {
-                                 "subdir" : {
-                                    "type" : "string"
-                                 }
-                              },
-                              "type" : "object"
-                           },
-                           "links" : [
-                              {
-                                 "href" : "{subdir}",
-                                 "rel" : "child"
-                              }
-                           ],
-                           "type" : "array"
-                        }
-                     }
-                  },
-                  "leaf" : 0,
-                  "path" : "/config/ruledb/action",
-                  "text" : "action"
-               },
-               {
-                  "children" : [
+                     },
                      {
                         "children" : [
                            {
                               "info" : {
                                  "GET" : {
-                                    "description" : "Get 'what' group properties",
+                                    "description" : "Read 'Header Attribute' object settings.",
                                     "method" : "GET",
-                                    "name" : "get_config",
+                                    "name" : "read_field",
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
-                                          "ogroup" : {
-                                             "description" : "Object Group ID.",
-                                             "type" : "integer",
-                                             "typetext" : "<integer>"
+                                          "id" : {
+                                             "description" : "Action Object ID.",
+                                             "pattern" : "\\d+_\\d+",
+                                             "type" : "string"
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "proxyto" : "master",
                                     "returns" : {
                                        "properties" : {
                                           "id" : {
-                                             "type" : "integer"
-                                          },
-                                          "info" : {
-                                             "type" : "string"
-                                          },
-                                          "name" : {
                                              "type" : "string"
                                           }
                                        },
@@ -978,12 +1090,23 @@ var pmgapi = [
                                     }
                                  },
                                  "PUT" : {
-                                    "description" : "Modify 'what' group properties",
+                                    "description" : "Update 'Header Attribute' object.",
                                     "method" : "PUT",
-                                    "name" : "set_config",
+                                    "name" : "update_field",
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "field" : {
+                                             "description" : "The Field",
+                                             "maxLength" : 1024,
+                                             "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
+                                             "type" : "string"
+                                          },
+                                          "id" : {
+                                             "description" : "Action Object ID.",
+                                             "pattern" : "\\d+_\\d+",
+                                             "type" : "string"
+                                          },
                                           "info" : {
                                              "description" : "Informational comment.",
                                              "maxLength" : 255,
@@ -992,19 +1115,25 @@ var pmgapi = [
                                              "typetext" : "<string>"
                                           },
                                           "name" : {
-                                             "description" : "Group name.",
+                                             "description" : "Action name.",
                                              "maxLength" : 255,
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
-                                          "ogroup" : {
-                                             "description" : "Object Group ID.",
-                                             "type" : "integer",
-                                             "typetext" : "<integer>"
+                                          "value" : {
+                                             "description" : "The Value",
+                                             "maxLength" : 1024,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -1013,34 +1142,659 @@ var pmgapi = [
                                  }
                               },
                               "leaf" : 1,
-                              "path" : "/config/ruledb/what/{ogroup}/config",
-                              "text" : "config"
-                           },
-                           {
-                              "children" : [
-                                 {
+                              "path" : "/config/ruledb/action/field/{id}",
+                              "text" : "{id}"
+                           }
+                        ],
+                        "info" : {
+                           "POST" : {
+                              "description" : "Create 'Header Attribute' object.",
+                              "method" : "POST",
+                              "name" : "field",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "field" : {
+                                       "description" : "The Field",
+                                       "maxLength" : 1024,
+                                       "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
+                                       "type" : "string"
+                                    },
                                     "info" : {
-                                       "DELETE" : {
-                                          "description" : "Remove an object from the 'what' group.",
-                                          "method" : "DELETE",
-                                          "name" : "delete_object",
-                                          "parameters" : {
-                                             "additionalProperties" : 0,
-                                             "properties" : {
-                                                "id" : {
-                                                   "description" : "Object ID.",
-                                                   "type" : "integer",
-                                                   "typetext" : "<integer>"
-                                                },
-                                                "ogroup" : {
-                                                   "description" : "Object Group ID.",
-                                                   "type" : "integer",
-                                                   "typetext" : "<integer>"
-                                                }
-                                             }
-                                          },
-                                          "protected" : 1,
-                                          "proxyto" : "master",
+                                       "description" : "Informational comment.",
+                                       "maxLength" : 255,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "name" : {
+                                       "description" : "Action name.",
+                                       "maxLength" : 255,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "value" : {
+                                       "description" : "The Value",
+                                       "maxLength" : 1024,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "master",
+                              "returns" : {
+                                 "description" : "The object ID.",
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "leaf" : 0,
+                        "path" : "/config/ruledb/action/field",
+                        "text" : "field"
+                     },
+                     {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "description" : "Read 'Notification' object settings.",
+                                    "method" : "GET",
+                                    "name" : "read_notification",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "id" : {
+                                             "description" : "Action Object ID.",
+                                             "pattern" : "\\d+_\\d+",
+                                             "type" : "string"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
+                                    "proxyto" : "master",
+                                    "returns" : {
+                                       "properties" : {
+                                          "id" : {
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "PUT" : {
+                                    "description" : "Update 'Notification' object.",
+                                    "method" : "PUT",
+                                    "name" : "update_notification",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "attach" : {
+                                             "default" : 0,
+                                             "description" : "Attach original E-Mail",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "body" : {
+                                             "description" : "The Notification Body",
+                                             "maxLength" : 2048,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "id" : {
+                                             "description" : "Action Object ID.",
+                                             "pattern" : "\\d+_\\d+",
+                                             "type" : "string"
+                                          },
+                                          "info" : {
+                                             "description" : "Informational comment.",
+                                             "maxLength" : 255,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "name" : {
+                                             "description" : "Action name.",
+                                             "maxLength" : 255,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "subject" : {
+                                             "description" : "The Notification subject",
+                                             "maxLength" : 100,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "to" : {
+                                             "description" : "The Receiver E-Mail address",
+                                             "maxLength" : 200,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "master",
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/config/ruledb/action/notification/{id}",
+                              "text" : "{id}"
+                           }
+                        ],
+                        "info" : {
+                           "POST" : {
+                              "description" : "Create 'Notification' object.",
+                              "method" : "POST",
+                              "name" : "notification",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "attach" : {
+                                       "default" : 0,
+                                       "description" : "Attach original E-Mail",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "body" : {
+                                       "description" : "The Notification Body",
+                                       "maxLength" : 2048,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "info" : {
+                                       "description" : "Informational comment.",
+                                       "maxLength" : 255,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "name" : {
+                                       "description" : "Action name.",
+                                       "maxLength" : 255,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "subject" : {
+                                       "description" : "The Notification subject",
+                                       "maxLength" : 100,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "to" : {
+                                       "description" : "The Receiver E-Mail address",
+                                       "maxLength" : 200,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "master",
+                              "returns" : {
+                                 "description" : "The object ID.",
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "leaf" : 0,
+                        "path" : "/config/ruledb/action/notification",
+                        "text" : "notification"
+                     },
+                     {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "description" : "Read 'Disclaimer' object settings.",
+                                    "method" : "GET",
+                                    "name" : "read_disclaimer",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "id" : {
+                                             "description" : "Action Object ID.",
+                                             "pattern" : "\\d+_\\d+",
+                                             "type" : "string"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
+                                    "proxyto" : "master",
+                                    "returns" : {
+                                       "properties" : {
+                                          "id" : {
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "PUT" : {
+                                    "description" : "Update 'Disclaimer' object.",
+                                    "method" : "PUT",
+                                    "name" : "update_disclaimer",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "disclaimer" : {
+                                             "description" : "The Disclaimer",
+                                             "maxLength" : 2048,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "id" : {
+                                             "description" : "Action Object ID.",
+                                             "pattern" : "\\d+_\\d+",
+                                             "type" : "string"
+                                          },
+                                          "info" : {
+                                             "description" : "Informational comment.",
+                                             "maxLength" : 255,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "name" : {
+                                             "description" : "Action name.",
+                                             "maxLength" : 255,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "master",
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/config/ruledb/action/disclaimer/{id}",
+                              "text" : "{id}"
+                           }
+                        ],
+                        "info" : {
+                           "POST" : {
+                              "description" : "Create 'Disclaimer' object.",
+                              "method" : "POST",
+                              "name" : "disclaimer",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "disclaimer" : {
+                                       "description" : "The Disclaimer",
+                                       "maxLength" : 2048,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "info" : {
+                                       "description" : "Informational comment.",
+                                       "maxLength" : 255,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "name" : {
+                                       "description" : "Action name.",
+                                       "maxLength" : 255,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "master",
+                              "returns" : {
+                                 "description" : "The object ID.",
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "leaf" : 0,
+                        "path" : "/config/ruledb/action/disclaimer",
+                        "text" : "disclaimer"
+                     },
+                     {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "description" : "Read 'Remove attachments' object settings.",
+                                    "method" : "GET",
+                                    "name" : "read_removeattachments",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "id" : {
+                                             "description" : "Action Object ID.",
+                                             "pattern" : "\\d+_\\d+",
+                                             "type" : "string"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
+                                    "proxyto" : "master",
+                                    "returns" : {
+                                       "properties" : {
+                                          "id" : {
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "PUT" : {
+                                    "description" : "Update 'Remove attachments' object.",
+                                    "method" : "PUT",
+                                    "name" : "update_removeattachments",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "all" : {
+                                             "description" : "Remove all attachments",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "id" : {
+                                             "description" : "Action Object ID.",
+                                             "pattern" : "\\d+_\\d+",
+                                             "type" : "string"
+                                          },
+                                          "info" : {
+                                             "description" : "Informational comment.",
+                                             "maxLength" : 255,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "name" : {
+                                             "description" : "Action name.",
+                                             "maxLength" : 255,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "text" : {
+                                             "description" : "The replacement text.",
+                                             "maxLength" : 2048,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "master",
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/config/ruledb/action/removeattachments/{id}",
+                              "text" : "{id}"
+                           }
+                        ],
+                        "info" : {
+                           "POST" : {
+                              "description" : "Create 'Remove attachments' object.",
+                              "method" : "POST",
+                              "name" : "removeattachments",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "all" : {
+                                       "description" : "Remove all attachments",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "info" : {
+                                       "description" : "Informational comment.",
+                                       "maxLength" : 255,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "name" : {
+                                       "description" : "Action name.",
+                                       "maxLength" : 255,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "text" : {
+                                       "description" : "The replacement text.",
+                                       "maxLength" : 2048,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "master",
+                              "returns" : {
+                                 "description" : "The object ID.",
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "leaf" : 0,
+                        "path" : "/config/ruledb/action/removeattachments",
+                        "text" : "removeattachments"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "description" : "Directory index.",
+                        "method" : "GET",
+                        "name" : "index",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {
+                                 "subdir" : {
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{subdir}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/config/ruledb/action",
+                  "text" : "action"
+               },
+               {
+                  "children" : [
+                     {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "description" : "Get 'what' group properties",
+                                    "method" : "GET",
+                                    "name" : "get_config",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "ogroup" : {
+                                             "description" : "Object Group ID.",
+                                             "type" : "integer",
+                                             "typetext" : "<integer>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
+                                    "proxyto" : "master",
+                                    "returns" : {
+                                       "properties" : {
+                                          "id" : {
+                                             "type" : "integer"
+                                          },
+                                          "info" : {
+                                             "type" : "string"
+                                          },
+                                          "name" : {
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "PUT" : {
+                                    "description" : "Modify 'what' group properties",
+                                    "method" : "PUT",
+                                    "name" : "set_config",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "info" : {
+                                             "description" : "Informational comment.",
+                                             "maxLength" : 255,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "name" : {
+                                             "description" : "Group name.",
+                                             "maxLength" : 255,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "ogroup" : {
+                                             "description" : "Object Group ID.",
+                                             "type" : "integer",
+                                             "typetext" : "<integer>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "master",
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/config/ruledb/what/{ogroup}/config",
+                              "text" : "config"
+                           },
+                           {
+                              "children" : [
+                                 {
+                                    "info" : {
+                                       "DELETE" : {
+                                          "description" : "Remove an object from the 'what' group.",
+                                          "method" : "DELETE",
+                                          "name" : "delete_object",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "id" : {
+                                                   "description" : "Object ID.",
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer>"
+                                                },
+                                                "ogroup" : {
+                                                   "description" : "Object Group ID.",
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer>"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "master",
                                           "returns" : {
                                              "type" : "null"
                                           }
@@ -1066,6 +1820,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "proxyto" : "master",
                                     "returns" : {
                                        "items" : {
@@ -1113,6 +1873,12 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
                                           "proxyto" : "master",
                                           "returns" : {
                                              "properties" : {
@@ -1148,6 +1914,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -1181,6 +1952,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -1216,6 +1992,12 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
                                           "proxyto" : "master",
                                           "returns" : {
                                              "properties" : {
@@ -1252,11 +2034,16 @@ var pmgapi = [
                                                 "value" : {
                                                    "description" : "The Value",
                                                    "maxLength" : 1024,
-                                                   "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -1291,11 +2078,16 @@ var pmgapi = [
                                           "value" : {
                                              "description" : "The Value",
                                              "maxLength" : 1024,
-                                             "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -1331,6 +2123,12 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
                                           "proxyto" : "master",
                                           "returns" : {
                                              "properties" : {
@@ -1366,6 +2164,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -1399,6 +2202,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -1434,6 +2242,12 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
                                           "proxyto" : "master",
                                           "returns" : {
                                              "properties" : {
@@ -1469,6 +2283,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -1502,6 +2321,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -1537,6 +2361,12 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
                                           "proxyto" : "master",
                                           "returns" : {
                                              "properties" : {
@@ -1572,6 +2402,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -1605,6 +2440,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -1616,6 +2456,113 @@ var pmgapi = [
                               "leaf" : 0,
                               "path" : "/config/ruledb/what/{ogroup}/filenamefilter",
                               "text" : "filenamefilter"
+                           },
+                           {
+                              "children" : [
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Read 'Virus Filter' object settings.",
+                                          "method" : "GET",
+                                          "name" : "read_virusfilter",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "id" : {
+                                                   "description" : "Object ID.",
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer>"
+                                                },
+                                                "ogroup" : {
+                                                   "description" : "Object Groups ID.",
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer>"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
+                                          "proxyto" : "master",
+                                          "returns" : {
+                                             "properties" : {
+                                                "id" : {
+                                                   "type" : "integer"
+                                                }
+                                             },
+                                             "type" : "object"
+                                          }
+                                       },
+                                       "PUT" : {
+                                          "description" : "Update 'Virus Filter' object.",
+                                          "method" : "PUT",
+                                          "name" : "update_virusfilter",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "id" : {
+                                                   "description" : "Object ID.",
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer>"
+                                                },
+                                                "ogroup" : {
+                                                   "description" : "Object Groups ID.",
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer>"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "master",
+                                          "returns" : {
+                                             "type" : "null"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/config/ruledb/what/{ogroup}/virusfilter/{id}",
+                                    "text" : "{id}"
+                                 }
+                              ],
+                              "info" : {
+                                 "POST" : {
+                                    "description" : "Add 'Virus Filter' object.",
+                                    "method" : "POST",
+                                    "name" : "virusfilter",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "ogroup" : {
+                                             "description" : "Object Groups ID.",
+                                             "type" : "integer",
+                                             "typetext" : "<integer>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "master",
+                                    "returns" : {
+                                       "description" : "The object ID.",
+                                       "type" : "integer"
+                                    }
+                                 }
+                              },
+                              "leaf" : 0,
+                              "path" : "/config/ruledb/what/{ogroup}/virusfilter",
+                              "text" : "virusfilter"
                            }
                         ],
                         "info" : {
@@ -1633,6 +2580,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
@@ -1653,6 +2605,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "returns" : {
                                  "items" : {
                                     "properties" : {
@@ -1685,6 +2643,12 @@ var pmgapi = [
                         "parameters" : {
                            "additionalProperties" : 0
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "proxyto" : "master",
                         "returns" : {
                            "items" : {
@@ -1720,6 +2684,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -1751,6 +2720,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "proxyto" : "master",
                                     "returns" : {
                                        "properties" : {
@@ -1795,6 +2770,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -1829,6 +2809,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -1856,6 +2841,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "proxyto" : "master",
                                     "returns" : {
                                        "items" : {
@@ -1903,6 +2894,12 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
                                           "proxyto" : "master",
                                           "returns" : {
                                              "properties" : {
@@ -1942,6 +2939,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -1979,6 +2981,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -2007,6 +3014,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
@@ -2027,6 +3039,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "returns" : {
                                  "items" : {
                                     "properties" : {
@@ -2059,6 +3077,12 @@ var pmgapi = [
                         "parameters" : {
                            "additionalProperties" : 0
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "proxyto" : "master",
                         "returns" : {
                            "items" : {
@@ -2094,6 +3118,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -2125,6 +3154,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "proxyto" : "master",
                                     "returns" : {
                                        "properties" : {
@@ -2169,6 +3204,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -2203,6 +3243,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -2230,6 +3275,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "proxyto" : "master",
                                     "returns" : {
                                        "items" : {
@@ -2277,6 +3328,12 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
                                           "proxyto" : "master",
                                           "returns" : {
                                              "properties" : {
@@ -2312,6 +3369,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -2345,6 +3407,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -2380,6 +3447,12 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
                                           "proxyto" : "master",
                                           "returns" : {
                                              "properties" : {
@@ -2415,6 +3488,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -2448,6 +3526,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -2483,6 +3566,12 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
                                           "proxyto" : "master",
                                           "returns" : {
                                              "properties" : {
@@ -2518,6 +3607,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -2551,6 +3645,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -2586,6 +3685,12 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
                                           "proxyto" : "master",
                                           "returns" : {
                                              "properties" : {
@@ -2621,6 +3726,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -2654,6 +3764,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -2689,6 +3804,12 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
                                           "proxyto" : "master",
                                           "returns" : {
                                              "properties" : {
@@ -2724,6 +3845,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -2757,6 +3883,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -2792,6 +3923,12 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
                                           "proxyto" : "master",
                                           "returns" : {
                                              "properties" : {
@@ -2845,6 +3982,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -2896,6 +4038,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -2931,6 +4078,12 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin",
+                                                "audit"
+                                             ]
+                                          },
                                           "proxyto" : "master",
                                           "returns" : {
                                              "properties" : {
@@ -2973,6 +4126,11 @@ var pmgapi = [
                                                 }
                                              }
                                           },
+                                          "permissions" : {
+                                             "check" : [
+                                                "admin"
+                                             ]
+                                          },
                                           "protected" : 1,
                                           "proxyto" : "master",
                                           "returns" : {
@@ -3013,6 +4171,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
@@ -3041,6 +4204,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
@@ -3061,6 +4229,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "returns" : {
                                  "items" : {
                                     "properties" : {
@@ -3093,6 +4267,12 @@ var pmgapi = [
                         "parameters" : {
                            "additionalProperties" : 0
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "proxyto" : "master",
                         "returns" : {
                            "items" : {
@@ -3128,6 +4308,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -3148,6 +4333,12 @@ var pmgapi = [
                   "parameters" : {
                      "additionalProperties" : 0
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "audit"
+                     ]
+                  },
                   "returns" : {
                      "items" : {
                         "properties" : {},
@@ -3169,6 +4360,11 @@ var pmgapi = [
                   "parameters" : {
                      "additionalProperties" : 0
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin"
+                     ]
+                  },
                   "protected" : 1,
                   "returns" : {
                      "type" : "null"
@@ -3199,6 +4395,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
+                              "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
                                  "type" : "null"
@@ -3218,6 +4420,12 @@ var pmgapi = [
                         "parameters" : {
                            "additionalProperties" : 0
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "proxyto" : "master",
                         "returns" : {
                            "items" : {
@@ -3260,6 +4468,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "proxyto" : "master",
                               "returns" : {
                                  "properties" : {
@@ -3290,6 +4504,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
@@ -3318,6 +4537,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -3348,6 +4572,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "proxyto" : "master",
                               "returns" : {
                                  "properties" : {
@@ -3378,6 +4608,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
@@ -3406,6 +4641,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -3436,6 +4676,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "proxyto" : "master",
                               "returns" : {
                                  "properties" : {
@@ -3466,6 +4712,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
@@ -3494,6 +4745,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -3524,6 +4780,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "proxyto" : "master",
                               "returns" : {
                                  "properties" : {
@@ -3554,6 +4816,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
@@ -3582,6 +4849,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -3612,6 +4884,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "proxyto" : "master",
                               "returns" : {
                                  "properties" : {
@@ -3642,6 +4920,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
@@ -3670,6 +4953,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -3700,6 +4988,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "proxyto" : "master",
                               "returns" : {
                                  "properties" : {
@@ -3730,6 +5024,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
@@ -3758,6 +5057,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -3788,6 +5092,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "proxyto" : "master",
                               "returns" : {
                                  "properties" : {
@@ -3818,6 +5128,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
@@ -3846,6 +5161,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -3876,6 +5196,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "proxyto" : "master",
                               "returns" : {
                                  "properties" : {
@@ -3906,6 +5232,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
@@ -3934,6 +5265,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -3955,6 +5291,12 @@ var pmgapi = [
                   "parameters" : {
                      "additionalProperties" : 0
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "audit"
+                     ]
+                  },
                   "returns" : {
                      "items" : {
                         "properties" : {
@@ -4001,7 +5343,8 @@ var pmgapi = [
                               },
                               "permissions" : {
                                  "check" : [
-                                    "admin"
+                                    "admin",
+                                    "audit"
                                  ]
                               },
                               "proxyto" : "master",
@@ -4015,11 +5358,12 @@ var pmgapi = [
                                  "additionalProperties" : 0,
                                  "properties" : {
                                     "accountattr" : {
-                                       "default" : "sAMAccountName",
+                                       "default" : "sAMAccountName, uid",
                                        "description" : "Account attribute name name.",
+                                       "format" : "ldap-simple-attr-list",
                                        "optional" : 1,
-                                       "pattern" : "[a-zA-Z0-9]+",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "basedn" : {
                                        "description" : "Base domain name.",
@@ -4079,13 +5423,21 @@ var pmgapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "groupclass" : {
+                                       "default" : "group, univentionGroup, ipausergroup",
+                                       "description" : "List of objectclasses for groups.",
+                                       "format" : "ldap-simple-attr-list",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "mailattr" : {
-                                       "default" : "mail, userPrincipalName, proxyAddresses, othermailbox",
+                                       "default" : "mail, userPrincipalName, proxyAddresses, othermailbox, mailAlternativeAddress",
                                        "description" : "List of mail attribute names.",
-                                       "format" : "string-list",
+                                       "format" : "ldap-simple-attr-list",
                                        "optional" : 1,
-                                       "pattern" : "[a-zA-Z0-9]+",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "mode" : {
                                        "default" : "ldap",
@@ -4206,7 +5558,8 @@ var pmgapi = [
                                     },
                                     "permissions" : {
                                        "check" : [
-                                          "admin"
+                                          "admin",
+                                          "audit"
                                        ]
                                     },
                                     "protected" : 1,
@@ -4250,7 +5603,8 @@ var pmgapi = [
                               },
                               "permissions" : {
                                  "check" : [
-                                    "admin"
+                                    "admin",
+                                    "audit"
                                  ]
                               },
                               "protected" : 1,
@@ -4270,6 +5624,12 @@ var pmgapi = [
                                     },
                                     "type" : "object"
                                  },
+                                 "links" : [
+                                    {
+                                       "href" : "{pmail}",
+                                       "rel" : "child"
+                                    }
+                                 ],
                                  "type" : "array"
                               }
                            }
@@ -4279,6 +5639,61 @@ var pmgapi = [
                         "text" : "users"
                      },
                      {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "description" : "List LDAP group members.",
+                                    "method" : "GET",
+                                    "name" : "profile_list_group_members",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "gid" : {
+                                             "description" : "Group ID",
+                                             "type" : "number",
+                                             "typetext" : "<number>"
+                                          },
+                                          "profile" : {
+                                             "description" : "Profile ID.",
+                                             "format" : "pve-configid",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "master",
+                                    "returns" : {
+                                       "items" : {
+                                          "properties" : {
+                                             "account" : {
+                                                "type" : "string"
+                                             },
+                                             "dn" : {
+                                                "type" : "string"
+                                             },
+                                             "pmail" : {
+                                                "type" : "string"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/config/ldap/{profile}/groups/{gid}",
+                              "text" : "{gid}"
+                           }
+                        ],
                         "info" : {
                            "GET" : {
                               "description" : "List LDAP groups.",
@@ -4297,7 +5712,8 @@ var pmgapi = [
                               },
                               "permissions" : {
                                  "check" : [
-                                    "admin"
+                                    "admin",
+                                    "audit"
                                  ]
                               },
                               "protected" : 1,
@@ -4307,30 +5723,306 @@ var pmgapi = [
                                     "properties" : {
                                        "dn" : {
                                           "type" : "string"
+                                       },
+                                       "gid" : {
+                                          "type" : "number"
                                        }
                                     },
                                     "type" : "object"
                                  },
+                                 "links" : [
+                                    {
+                                       "href" : "{gid}",
+                                       "rel" : "child"
+                                    }
+                                 ],
                                  "type" : "array"
                               }
                            }
                         },
-                        "leaf" : 1,
-                        "path" : "/config/ldap/{profile}/groups",
-                        "text" : "groups"
-                     }
-                  ],
+                        "leaf" : 0,
+                        "path" : "/config/ldap/{profile}/groups",
+                        "text" : "groups"
+                     }
+                  ],
+                  "info" : {
+                     "DELETE" : {
+                        "description" : "Delete an LDAP profile",
+                        "method" : "DELETE",
+                        "name" : "delete",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "profile" : {
+                                 "description" : "Profile ID.",
+                                 "format" : "pve-configid",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
+                        "protected" : 1,
+                        "proxyto" : "master",
+                        "returns" : {
+                           "type" : "null"
+                        }
+                     },
+                     "GET" : {
+                        "description" : "Directory index",
+                        "method" : "GET",
+                        "name" : "profile_index",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "profile" : {
+                                 "description" : "Profile ID.",
+                                 "format" : "pve-configid",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "user" : "all"
+                        },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {
+                                 "subdir" : {
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{subdir}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/config/ldap/{profile}",
+                  "text" : "{profile}"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "description" : "List configured LDAP profiles.",
+                  "method" : "GET",
+                  "name" : "index",
+                  "parameters" : {
+                     "additionalProperties" : 0
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "audit"
+                     ]
+                  },
+                  "proxyto" : "master",
+                  "returns" : {
+                     "items" : {
+                        "properties" : {
+                           "comment" : {
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "disable" : {
+                              "type" : "boolean"
+                           },
+                           "gcount" : {
+                              "optional" : 1,
+                              "type" : "integer"
+                           },
+                           "mcount" : {
+                              "optional" : 1,
+                              "type" : "integer"
+                           },
+                           "mode" : {
+                              "type" : "string"
+                           },
+                           "profile" : {
+                              "type" : "string"
+                           },
+                           "server1" : {
+                              "type" : "string"
+                           },
+                           "server2" : {
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "ucount" : {
+                              "optional" : 1,
+                              "type" : "integer"
+                           }
+                        },
+                        "type" : "object"
+                     },
+                     "links" : [
+                        {
+                           "href" : "{profile}",
+                           "rel" : "child"
+                        }
+                     ],
+                     "type" : "array"
+                  }
+               },
+               "POST" : {
+                  "description" : "Add LDAP profile.",
+                  "method" : "POST",
+                  "name" : "create",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "accountattr" : {
+                           "default" : "sAMAccountName, uid",
+                           "description" : "Account attribute name name.",
+                           "format" : "ldap-simple-attr-list",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "basedn" : {
+                           "description" : "Base domain name.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "binddn" : {
+                           "description" : "Bind domain name.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "bindpw" : {
+                           "description" : "Bind password.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "comment" : {
+                           "description" : "Description.",
+                           "maxLength" : 4096,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "disable" : {
+                           "description" : "Flag to disable/deactivate the entry.",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "filter" : {
+                           "description" : "LDAP filter.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "groupbasedn" : {
+                           "description" : "Base domain name for groups.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "groupclass" : {
+                           "default" : "group, univentionGroup, ipausergroup",
+                           "description" : "List of objectclasses for groups.",
+                           "format" : "ldap-simple-attr-list",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "mailattr" : {
+                           "default" : "mail, userPrincipalName, proxyAddresses, othermailbox, mailAlternativeAddress",
+                           "description" : "List of mail attribute names.",
+                           "format" : "ldap-simple-attr-list",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "mode" : {
+                           "default" : "ldap",
+                           "description" : "LDAP protocol mode ('ldap' or 'ldaps').",
+                           "enum" : [
+                              "ldap",
+                              "ldaps"
+                           ],
+                           "optional" : 1,
+                           "type" : "string"
+                        },
+                        "port" : {
+                           "description" : "Specify the port to connect to.",
+                           "maximum" : 65535,
+                           "minimum" : 1,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - 65535)"
+                        },
+                        "profile" : {
+                           "description" : "Profile ID.",
+                           "format" : "pve-configid",
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "server1" : {
+                           "description" : "Server address.",
+                           "format" : "address",
+                           "maxLength" : 256,
+                           "optional" : 0,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "server2" : {
+                           "description" : "Fallback server address. Userd when the first server is not available.",
+                           "format" : "address",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        }
+                     },
+                     "type" : "object"
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "admin"
+                     ]
+                  },
+                  "protected" : 1,
+                  "proxyto" : "master",
+                  "returns" : {
+                     "type" : "null"
+                  }
+               }
+            },
+            "leaf" : 0,
+            "path" : "/config/ldap",
+            "text" : "ldap"
+         },
+         {
+            "children" : [
+               {
                   "info" : {
                      "DELETE" : {
-                        "description" : "Delete an LDAP profile",
+                        "description" : "Delete a relay domain",
                         "method" : "DELETE",
                         "name" : "delete",
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
-                              "profile" : {
-                                 "description" : "Profile ID.",
-                                 "format" : "pve-configid",
+                              "domain" : {
+                                 "description" : "Domain name.",
+                                 "format" : "dns-name",
                                  "type" : "string",
                                  "typetext" : "<string>"
                               }
@@ -4348,50 +6040,79 @@ var pmgapi = [
                         }
                      },
                      "GET" : {
-                        "description" : "Directory index",
+                        "description" : "Read Domain data (comment).",
                         "method" : "GET",
-                        "name" : "profile_index",
+                        "name" : "read",
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
-                              "profile" : {
-                                 "description" : "Profile ID.",
-                                 "format" : "pve-configid",
+                              "domain" : {
+                                 "description" : "Domain name.",
+                                 "format" : "dns-name",
                                  "type" : "string",
                                  "typetext" : "<string>"
                               }
                            }
                         },
                         "permissions" : {
-                           "user" : "all"
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
                         },
+                        "proxyto" : "master",
                         "returns" : {
-                           "items" : {
-                              "properties" : {
-                                 "subdir" : {
-                                    "type" : "string"
-                                 }
+                           "properties" : {
+                              "comment" : {
+                                 "type" : "string"
                               },
-                              "type" : "object"
+                              "domain" : {
+                                 "type" : "string"
+                              }
                            },
-                           "links" : [
-                              {
-                                 "href" : "{subdir}",
-                                 "rel" : "child"
+                           "type" : "object"
+                        }
+                     },
+                     "PUT" : {
+                        "description" : "Update relay domain data (comment).",
+                        "method" : "PUT",
+                        "name" : "write",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "comment" : {
+                                 "description" : "Comment.",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "domain" : {
+                                 "description" : "Domain name.",
+                                 "format" : "dns-name",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
-                           ],
-                           "type" : "array"
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
+                        "protected" : 1,
+                        "proxyto" : "master",
+                        "returns" : {
+                           "type" : "null"
                         }
-                     }
-                  },
-                  "leaf" : 0,
-                  "path" : "/config/ldap/{profile}",
-                  "text" : "{profile}"
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/config/domains/{domain}",
+                  "text" : "{domain}"
                }
             ],
             "info" : {
                "GET" : {
-                  "description" : "List configured LDAP profiles.",
+                  "description" : "List relay domains.",
                   "method" : "GET",
                   "name" : "index",
                   "parameters" : {
@@ -4399,7 +6120,8 @@ var pmgapi = [
                   },
                   "permissions" : {
                      "check" : [
-                        "admin"
+                        "admin",
+                        "audit"
                      ]
                   },
                   "proxyto" : "master",
@@ -4407,43 +6129,17 @@ var pmgapi = [
                      "items" : {
                         "properties" : {
                            "comment" : {
-                              "optional" : 1,
-                              "type" : "string"
-                           },
-                           "disable" : {
-                              "type" : "boolean"
-                           },
-                           "gcount" : {
-                              "optional" : 1,
-                              "type" : "integer"
-                           },
-                           "mcount" : {
-                              "optional" : 1,
-                              "type" : "integer"
-                           },
-                           "mode" : {
-                              "type" : "string"
-                           },
-                           "profile" : {
                               "type" : "string"
                            },
-                           "server1" : {
-                              "type" : "string"
-                           },
-                           "server2" : {
-                              "optional" : 1,
+                           "domain" : {
                               "type" : "string"
-                           },
-                           "ucount" : {
-                              "optional" : 1,
-                              "type" : "integer"
                            }
                         },
                         "type" : "object"
                      },
                      "links" : [
                         {
-                           "href" : "{profile}",
+                           "href" : "{domain}",
                            "rel" : "child"
                         }
                      ],
@@ -4451,112 +6147,25 @@ var pmgapi = [
                   }
                },
                "POST" : {
-                  "description" : "Add LDAP profile.",
+                  "description" : "Add relay domain.",
                   "method" : "POST",
                   "name" : "create",
                   "parameters" : {
                      "additionalProperties" : 0,
                      "properties" : {
-                        "accountattr" : {
-                           "default" : "sAMAccountName",
-                           "description" : "Account attribute name name.",
-                           "optional" : 1,
-                           "pattern" : "[a-zA-Z0-9]+",
-                           "type" : "string"
-                        },
-                        "basedn" : {
-                           "description" : "Base domain name.",
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "binddn" : {
-                           "description" : "Bind domain name.",
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "bindpw" : {
-                           "description" : "Bind password.",
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
                         "comment" : {
-                           "description" : "Description.",
-                           "maxLength" : 4096,
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "disable" : {
-                           "description" : "Flag to disable/deactivate the entry.",
-                           "optional" : 1,
-                           "type" : "boolean",
-                           "typetext" : "<boolean>"
-                        },
-                        "filter" : {
-                           "description" : "LDAP filter.",
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "groupbasedn" : {
-                           "description" : "Base domain name for groups.",
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "mailattr" : {
-                           "default" : "mail, userPrincipalName, proxyAddresses, othermailbox",
-                           "description" : "List of mail attribute names.",
-                           "format" : "string-list",
-                           "optional" : 1,
-                           "pattern" : "[a-zA-Z0-9]+",
-                           "type" : "string"
-                        },
-                        "mode" : {
-                           "default" : "ldap",
-                           "description" : "LDAP protocol mode ('ldap' or 'ldaps').",
-                           "enum" : [
-                              "ldap",
-                              "ldaps"
-                           ],
-                           "optional" : 1,
-                           "type" : "string"
-                        },
-                        "port" : {
-                           "description" : "Specify the port to connect to.",
-                           "maximum" : 65535,
-                           "minimum" : 1,
+                           "description" : "Comment.",
                            "optional" : 1,
-                           "type" : "integer",
-                           "typetext" : "<integer> (1 - 65535)"
-                        },
-                        "profile" : {
-                           "description" : "Profile ID.",
-                           "format" : "pve-configid",
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "server1" : {
-                           "description" : "Server address.",
-                           "format" : "address",
-                           "maxLength" : 256,
-                           "optional" : 0,
                            "type" : "string",
                            "typetext" : "<string>"
                         },
-                        "server2" : {
-                           "description" : "Fallback server address. Userd when the first server is not available.",
-                           "format" : "address",
-                           "maxLength" : 256,
-                           "optional" : 1,
+                        "domain" : {
+                           "description" : "Domain name.",
+                           "format" : "dns-name",
                            "type" : "string",
                            "typetext" : "<string>"
                         }
-                     },
-                     "type" : "object"
+                     }
                   },
                   "permissions" : {
                      "check" : [
@@ -4571,28 +6180,33 @@ var pmgapi = [
                }
             },
             "leaf" : 0,
-            "path" : "/config/ldap",
-            "text" : "ldap"
+            "path" : "/config/domains",
+            "text" : "domains"
          },
          {
             "children" : [
                {
                   "info" : {
                      "DELETE" : {
-                        "description" : "Delete a relay domain",
+                        "description" : "Delete a fetchmail configuration entry.",
                         "method" : "DELETE",
                         "name" : "delete",
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
-                              "domain" : {
-                                 "description" : "Domain name.",
-                                 "format" : "dns-name",
-                                 "type" : "string",
-                                 "typetext" : "<string>"
+                              "id" : {
+                                 "description" : "Unique ID",
+                                 "maxLength" : 16,
+                                 "pattern" : "[A-Za-z0-9]+",
+                                 "type" : "string"
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -4600,53 +6214,204 @@ var pmgapi = [
                         }
                      },
                      "GET" : {
-                        "description" : "Read Domain data (comment).",
+                        "description" : "Read fetchmail user configuration.",
                         "method" : "GET",
                         "name" : "read",
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
-                              "domain" : {
-                                 "description" : "Domain name.",
-                                 "format" : "dns-name",
-                                 "type" : "string",
-                                 "typetext" : "<string>"
+                              "id" : {
+                                 "description" : "Unique ID",
+                                 "maxLength" : 16,
+                                 "pattern" : "[A-Za-z0-9]+",
+                                 "type" : "string"
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
+                        "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
                            "properties" : {
-                              "comment" : {
+                              "enable" : {
+                                 "default" : 0,
+                                 "description" : "Flag to enable or disable polling.",
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "id" : {
+                                 "description" : "Unique ID",
+                                 "maxLength" : 16,
+                                 "pattern" : "[A-Za-z0-9]+",
+                                 "type" : "string"
+                              },
+                              "interval" : {
+                                 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
+                                 "maximum" : 2016,
+                                 "minimum" : 1,
+                                 "optional" : 1,
+                                 "type" : "integer"
+                              },
+                              "keep" : {
+                                 "default" : 0,
+                                 "description" : "Keep retrieved messages on the remote mailserver.",
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "pass" : {
+                                 "description" : "The password used tfor server login.",
+                                 "maxLength" : 64,
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "port" : {
+                                 "description" : "Port number.",
+                                 "maximum" : 65535,
+                                 "minimum" : 1,
+                                 "optional" : 1,
+                                 "type" : "integer"
+                              },
+                              "protocol" : {
+                                 "description" : "Specify  the  protocol to use when communicating with the remote mailserver",
+                                 "enum" : [
+                                    "pop3",
+                                    "imap"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "server" : {
+                                 "description" : "Server address (IP or DNS name).",
+                                 "format" : "address",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "ssl" : {
+                                 "default" : 0,
+                                 "description" : "Use SSL.",
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "target" : {
+                                 "description" : "The target email address (where to deliver fetched mails).",
+                                 "maxLength" : 512,
+                                 "minLength" : 3,
+                                 "optional" : 1,
+                                 "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+                                 "type" : "string"
+                              },
+                              "user" : {
+                                 "description" : "The user identification to be used when logging in to the server",
+                                 "maxLength" : 64,
+                                 "minLength" : 1,
+                                 "optional" : 1,
+                                 "type" : "string"
+                              }
+                           },
+                           "type" : "object"
+                        }
+                     },
+                     "PUT" : {
+                        "description" : "Update fetchmail user configuration.",
+                        "method" : "PUT",
+                        "name" : "write",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "enable" : {
+                                 "default" : 0,
+                                 "description" : "Flag to enable or disable polling.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "id" : {
+                                 "description" : "Unique ID",
+                                 "maxLength" : 16,
+                                 "pattern" : "[A-Za-z0-9]+",
+                                 "type" : "string"
+                              },
+                              "interval" : {
+                                 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
+                                 "maximum" : 2016,
+                                 "minimum" : 1,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - 2016)"
+                              },
+                              "keep" : {
+                                 "default" : 0,
+                                 "description" : "Keep retrieved messages on the remote mailserver.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "pass" : {
+                                 "description" : "The password used tfor server login.",
+                                 "maxLength" : 64,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "port" : {
+                                 "description" : "Port number.",
+                                 "maximum" : 65535,
+                                 "minimum" : 1,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - 65535)"
+                              },
+                              "protocol" : {
+                                 "description" : "Specify  the  protocol to use when communicating with the remote mailserver",
+                                 "enum" : [
+                                    "pop3",
+                                    "imap"
+                                 ],
+                                 "optional" : 1,
                                  "type" : "string"
                               },
-                              "domain" : {
-                                 "type" : "string"
-                              }
-                           },
-                           "type" : "object"
-                        }
-                     },
-                     "PUT" : {
-                        "description" : "Update relay domain data (comment).",
-                        "method" : "PUT",
-                        "name" : "write",
-                        "parameters" : {
-                           "additionalProperties" : 0,
-                           "properties" : {
-                              "comment" : {
-                                 "description" : "Comment.",
+                              "server" : {
+                                 "description" : "Server address (IP or DNS name).",
+                                 "format" : "address",
+                                 "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
-                              "domain" : {
-                                 "description" : "Domain name.",
-                                 "format" : "dns-name",
+                              "ssl" : {
+                                 "default" : 0,
+                                 "description" : "Use SSL.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "target" : {
+                                 "description" : "The target email address (where to deliver fetched mails).",
+                                 "maxLength" : 512,
+                                 "minLength" : 3,
+                                 "optional" : 1,
+                                 "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+                                 "type" : "string"
+                              },
+                              "user" : {
+                                 "description" : "The user identification to be used when logging in to the server",
+                                 "maxLength" : 64,
+                                 "minLength" : 1,
+                                 "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -4655,26 +6420,101 @@ var pmgapi = [
                      }
                   },
                   "leaf" : 1,
-                  "path" : "/config/domains/{domain}",
-                  "text" : "{domain}"
+                  "path" : "/config/fetchmail/{id}",
+                  "text" : "{id}"
                }
             ],
             "info" : {
                "GET" : {
-                  "description" : "List relay domains.",
+                  "description" : "List fetchmail users.",
                   "method" : "GET",
                   "name" : "index",
                   "parameters" : {
                      "additionalProperties" : 0
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "audit"
+                     ]
+                  },
+                  "protected" : 1,
                   "proxyto" : "master",
                   "returns" : {
                      "items" : {
                         "properties" : {
-                           "comment" : {
+                           "enable" : {
+                              "default" : 0,
+                              "description" : "Flag to enable or disable polling.",
+                              "optional" : 1,
+                              "type" : "boolean"
+                           },
+                           "id" : {
+                              "description" : "Unique ID",
+                              "maxLength" : 16,
+                              "pattern" : "[A-Za-z0-9]+",
                               "type" : "string"
                            },
-                           "domain" : {
+                           "interval" : {
+                              "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
+                              "maximum" : 2016,
+                              "minimum" : 1,
+                              "optional" : 1,
+                              "type" : "integer"
+                           },
+                           "keep" : {
+                              "default" : 0,
+                              "description" : "Keep retrieved messages on the remote mailserver.",
+                              "optional" : 1,
+                              "type" : "boolean"
+                           },
+                           "pass" : {
+                              "description" : "The password used tfor server login.",
+                              "maxLength" : 64,
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "port" : {
+                              "description" : "Port number.",
+                              "maximum" : 65535,
+                              "minimum" : 1,
+                              "optional" : 1,
+                              "type" : "integer"
+                           },
+                           "protocol" : {
+                              "description" : "Specify  the  protocol to use when communicating with the remote mailserver",
+                              "enum" : [
+                                 "pop3",
+                                 "imap"
+                              ],
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "server" : {
+                              "description" : "Server address (IP or DNS name).",
+                              "format" : "address",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "ssl" : {
+                              "default" : 0,
+                              "description" : "Use SSL.",
+                              "optional" : 1,
+                              "type" : "boolean"
+                           },
+                           "target" : {
+                              "description" : "The target email address (where to deliver fetched mails).",
+                              "maxLength" : 512,
+                              "minLength" : 3,
+                              "optional" : 1,
+                              "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+                              "type" : "string"
+                           },
+                           "user" : {
+                              "description" : "The user identification to be used when logging in to the server",
+                              "maxLength" : 64,
+                              "minLength" : 1,
+                              "optional" : 1,
                               "type" : "string"
                            }
                         },
@@ -4682,7 +6522,7 @@ var pmgapi = [
                      },
                      "links" : [
                         {
-                           "href" : "{domain}",
+                           "href" : "{id}",
                            "rel" : "child"
                         }
                      ],
@@ -4690,36 +6530,103 @@ var pmgapi = [
                   }
                },
                "POST" : {
-                  "description" : "Add relay domain.",
+                  "description" : "Create fetchmail user configuration.",
                   "method" : "POST",
                   "name" : "create",
                   "parameters" : {
                      "additionalProperties" : 0,
                      "properties" : {
-                        "comment" : {
-                           "description" : "Comment.",
+                        "enable" : {
+                           "default" : 0,
+                           "description" : "Flag to enable or disable polling.",
                            "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "interval" : {
+                           "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
+                           "maximum" : 2016,
+                           "minimum" : 1,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - 2016)"
+                        },
+                        "keep" : {
+                           "default" : 0,
+                           "description" : "Keep retrieved messages on the remote mailserver.",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "pass" : {
+                           "description" : "The password used tfor server login.",
+                           "maxLength" : 64,
                            "type" : "string",
                            "typetext" : "<string>"
                         },
-                        "domain" : {
-                           "description" : "Domain name.",
-                           "format" : "dns-name",
+                        "port" : {
+                           "description" : "Port number.",
+                           "maximum" : 65535,
+                           "minimum" : 1,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - 65535)"
+                        },
+                        "protocol" : {
+                           "description" : "Specify  the  protocol to use when communicating with the remote mailserver",
+                           "enum" : [
+                              "pop3",
+                              "imap"
+                           ],
+                           "type" : "string"
+                        },
+                        "server" : {
+                           "description" : "Server address (IP or DNS name).",
+                           "format" : "address",
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "ssl" : {
+                           "default" : 0,
+                           "description" : "Use SSL.",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "target" : {
+                           "description" : "The target email address (where to deliver fetched mails).",
+                           "maxLength" : 512,
+                           "minLength" : 3,
+                           "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+                           "type" : "string"
+                        },
+                        "user" : {
+                           "description" : "The user identification to be used when logging in to the server",
+                           "maxLength" : 64,
+                           "minLength" : 1,
                            "type" : "string",
                            "typetext" : "<string>"
                         }
                      }
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin"
+                     ]
+                  },
                   "protected" : 1,
                   "proxyto" : "master",
                   "returns" : {
-                     "type" : "null"
+                     "description" : "Unique ID",
+                     "maxLength" : 16,
+                     "pattern" : "[A-Za-z0-9]+",
+                     "type" : "string"
                   }
                }
             },
             "leaf" : 0,
-            "path" : "/config/domains",
-            "text" : "domains"
+            "path" : "/config/fetchmail",
+            "text" : "fetchmail"
          },
          {
             "children" : [
@@ -4740,6 +6647,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -4761,6 +6673,12 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "proxyto" : "master",
                         "returns" : {
                            "properties" : {
@@ -4825,6 +6743,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -4845,6 +6768,12 @@ var pmgapi = [
                   "parameters" : {
                      "additionalProperties" : 0
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "audit"
+                     ]
+                  },
                   "proxyto" : "master",
                   "returns" : {
                      "items" : {
@@ -4869,7 +6798,7 @@ var pmgapi = [
                      },
                      "links" : [
                         {
-                           "href" : "{id}",
+                           "href" : "{domain}",
                            "rel" : "child"
                         }
                      ],
@@ -4919,6 +6848,11 @@ var pmgapi = [
                         }
                      }
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin"
+                     ]
+                  },
                   "protected" : 1,
                   "proxyto" : "master",
                   "returns" : {
@@ -4949,6 +6883,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -4970,6 +6909,12 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "proxyto" : "master",
                         "returns" : {
                            "properties" : {
@@ -5002,6 +6947,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -5022,6 +6972,12 @@ var pmgapi = [
                   "parameters" : {
                      "additionalProperties" : 0
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "audit"
+                     ]
+                  },
                   "proxyto" : "master",
                   "returns" : {
                      "items" : {
@@ -5034,7 +6990,7 @@ var pmgapi = [
                      },
                      "links" : [
                         {
-                           "href" : "{cide}",
+                           "href" : "{cidr}",
                            "rel" : "child"
                         }
                      ],
@@ -5062,6 +7018,11 @@ var pmgapi = [
                         }
                      }
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin"
+                     ]
+                  },
                   "protected" : 1,
                   "proxyto" : "master",
                   "returns" : {
@@ -5086,7 +7047,9 @@ var pmgapi = [
                         },
                         "permissions" : {
                            "check" : [
-                              "admin"
+                              "admin",
+                              "qmanager",
+                              "audit"
                            ]
                         },
                         "returns" : {
@@ -5116,12 +7079,6 @@ var pmgapi = [
                               },
                               "type" : "object"
                            },
-                           "links" : [
-                              {
-                                 "href" : "{cid}",
-                                 "rel" : "child"
-                              }
-                           ],
                            "type" : "array"
                         }
                      },
@@ -5201,11 +7158,22 @@ var pmgapi = [
                         "method" : "GET",
                         "name" : "status",
                         "parameters" : {
-                           "additionalProperties" : 0
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "list_single_node" : {
+                                 "default" : 0,
+                                 "description" : "List local node if there is no cluster defined. Please note that RSA keys and fingerprint are not valid in that case.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              }
+                           }
                         },
                         "permissions" : {
                            "check" : [
-                              "admin"
+                              "admin",
+                              "qmanager",
+                              "audit"
                            ]
                         },
                         "returns" : {
@@ -5375,6 +7343,12 @@ var pmgapi = [
                   "parameters" : {
                      "additionalProperties" : 0
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "audit"
+                     ]
+                  },
                   "proxyto" : "master",
                   "returns" : {
                      "type" : "object"
@@ -5448,6 +7422,11 @@ var pmgapi = [
                      },
                      "type" : "object"
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin"
+                     ]
+                  },
                   "protected" : 1,
                   "proxyto" : "master",
                   "returns" : {
@@ -5468,6 +7447,12 @@ var pmgapi = [
                   "parameters" : {
                      "additionalProperties" : 0
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "audit"
+                     ]
+                  },
                   "proxyto" : "master",
                   "returns" : {
                      "type" : "object"
@@ -5559,6 +7544,11 @@ var pmgapi = [
                      },
                      "type" : "object"
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin"
+                     ]
+                  },
                   "protected" : 1,
                   "proxyto" : "master",
                   "returns" : {
@@ -5579,6 +7569,12 @@ var pmgapi = [
                   "parameters" : {
                      "additionalProperties" : 0
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "audit"
+                     ]
+                  },
                   "proxyto" : "master",
                   "returns" : {
                      "type" : "object"
@@ -5632,6 +7628,7 @@ var pmgapi = [
                         },
                         "dnsbl_sites" : {
                            "description" : "Optional list of DNS white/blacklist domains (see postscreen_dnsbl_sites parameter).",
+                           "format" : "dnsbl-entry-list",
                            "optional" : 1,
                            "type" : "string",
                            "typetext" : "<string>"
@@ -5645,7 +7642,7 @@ var pmgapi = [
                            "typetext" : "<integer> (0 - N)"
                         },
                         "ext_port" : {
-                           "default" : 26,
+                           "default" : 25,
                            "description" : "SMTP port number for incoming mail (untrusted). This must be a different number than 'int_port'.",
                            "maximum" : 65535,
                            "minimum" : 1,
@@ -5675,7 +7672,7 @@ var pmgapi = [
                            "typetext" : "<boolean>"
                         },
                         "int_port" : {
-                           "default" : 25,
+                           "default" : 26,
                            "description" : "SMTP port number for outgoing mail (trusted).",
                            "maximum" : 65535,
                            "minimum" : 1,
@@ -5807,13 +7804,6 @@ var pmgapi = [
                            "type" : "boolean",
                            "typetext" : "<boolean>"
                         },
-                        "use_rbl" : {
-                           "default" : 1,
-                           "description" : "Use Realtime Blacklists.",
-                           "optional" : 1,
-                           "type" : "boolean",
-                           "typetext" : "<boolean>"
-                        },
                         "verifyreceivers" : {
                            "description" : "Enable receiver verification. The value spefifies the numerical reply code when the Postfix SMTP server rejects a recipient address.",
                            "enum" : [
@@ -5826,6 +7816,11 @@ var pmgapi = [
                      },
                      "type" : "object"
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin"
+                     ]
+                  },
                   "protected" : 1,
                   "proxyto" : "master",
                   "returns" : {
@@ -5846,6 +7841,12 @@ var pmgapi = [
                   "parameters" : {
                      "additionalProperties" : 0
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "audit"
+                     ]
+                  },
                   "proxyto" : "master",
                   "returns" : {
                      "type" : "object"
@@ -5867,6 +7868,15 @@ var pmgapi = [
                            "type" : "integer",
                            "typetext" : "<integer> (0 - 1000)"
                         },
+                        "clamav_heuristic_score" : {
+                           "default" : 3,
+                           "description" : "Score for ClamaAV heuristics (Google Safe Browsing database, PhishingScanURLs, ...).",
+                           "maximum" : 1000,
+                           "minimum" : 0,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (0 - 1000)"
+                        },
                         "delete" : {
                            "description" : "A list of settings you want to delete.",
                            "format" : "pve-configid-list",
@@ -5890,7 +7900,7 @@ var pmgapi = [
                            "type" : "string"
                         },
                         "maxspamsize" : {
-                           "default" : 204800,
+                           "default" : 262144,
                            "description" : "Maximum size of spam messages in bytes.",
                            "minimum" : 64,
                            "optional" : 1,
@@ -5934,6 +7944,11 @@ var pmgapi = [
                      },
                      "type" : "object"
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin"
+                     ]
+                  },
                   "protected" : 1,
                   "proxyto" : "master",
                   "returns" : {
@@ -5954,6 +7969,12 @@ var pmgapi = [
                   "parameters" : {
                      "additionalProperties" : 0
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "audit"
+                     ]
+                  },
                   "proxyto" : "master",
                   "returns" : {
                      "type" : "object"
@@ -6042,6 +8063,11 @@ var pmgapi = [
                      },
                      "type" : "object"
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin"
+                     ]
+                  },
                   "protected" : 1,
                   "proxyto" : "master",
                   "returns" : {
@@ -6062,6 +8088,12 @@ var pmgapi = [
                   "parameters" : {
                      "additionalProperties" : 0
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "audit"
+                     ]
+                  },
                   "proxyto" : "master",
                   "returns" : {
                      "type" : "object"
@@ -6114,6 +8146,11 @@ var pmgapi = [
                      },
                      "type" : "object"
                   },
+                  "permissions" : {
+                     "check" : [
+                        "admin"
+                     ]
+                  },
                   "protected" : 1,
                   "proxyto" : "master",
                   "returns" : {
@@ -6234,7 +8271,8 @@ var pmgapi = [
                               },
                               "permissions" : {
                                  "check" : [
-                                    "admin"
+                                    "admin",
+                                    "audit"
                                  ]
                               },
                               "protected" : 1,
@@ -6490,7 +8528,8 @@ var pmgapi = [
                                     },
                                     "permissions" : {
                                        "check" : [
-                                          "admin"
+                                          "admin",
+                                          "audit"
                                        ]
                                     },
                                     "protected" : 1,
@@ -6703,6 +8742,13 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
+                              "proxyto" : "node",
                               "returns" : {
                                  "items" : {
                                     "properties" : {
@@ -6740,7 +8786,13 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
+                              "proxyto" : "node",
                               "returns" : {
                                  "type" : "string"
                               }
@@ -6767,8 +8819,12 @@ var pmgapi = [
                               }
                            }
                         },
-                        "protected" : 1,
-                        "proxyto" : "node",
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "returns" : {
                            "items" : {
                               "properties" : {},
@@ -6788,6 +8844,132 @@ var pmgapi = [
                   "path" : "/nodes/{node}/clamav",
                   "text" : "clamav"
                },
+               {
+                  "children" : [
+                     {
+                        "info" : {
+                           "GET" : {
+                              "description" : "SpamAssassin rules status.",
+                              "method" : "GET",
+                              "name" : "rules_status",
+                              "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" : {
+                                       "channel" : {
+                                          "type" : "string"
+                                       },
+                                       "last_updated" : {
+                                          "optional" : 1,
+                                          "type" : "integer"
+                                       },
+                                       "update_avail" : {
+                                          "type" : "boolean"
+                                       },
+                                       "update_version" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "version" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "type" : "array"
+                              }
+                           },
+                           "POST" : {
+                              "description" : "Update SpamAssassin rules.",
+                              "method" : "POST",
+                              "name" : "update_rules",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/spamassassin/rules",
+                        "text" : "rules"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "description" : "Directory index.",
+                        "method" : "GET",
+                        "name" : "index",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {},
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{subdir}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/nodes/{node}/spamassassin",
+                  "text" : "spamassassin"
+               },
                {
                   "children" : [
                      {
@@ -6844,6 +9026,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "proxyto" : "node",
                               "returns" : {
                                  "properties" : {
@@ -7117,6 +9305,12 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "proxyto" : "node",
                         "returns" : {
                            "items" : {
@@ -7367,6 +9561,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "node",
                                     "returns" : {
@@ -7412,6 +9612,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "node",
                                     "returns" : {
@@ -7456,6 +9662,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "node",
                               "returns" : {
@@ -7481,6 +9692,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "returns" : {
                                  "items" : {
                                     "properties" : {},
@@ -7539,6 +9756,12 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "proxyto" : "node",
                         "returns" : {
                            "items" : {
@@ -7587,6 +9810,7 @@ var pmgapi = [
                                              "enum" : [
                                                 "clamav-daemon",
                                                 "clamav-freshclam",
+                                                "fetchmail",
                                                 "pmgproxy",
                                                 "pmgdaemon",
                                                 "pmgpolicy",
@@ -7607,6 +9831,12 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin",
+                                          "audit"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "node",
                                     "returns" : {
@@ -7639,6 +9869,7 @@ var pmgapi = [
                                              "enum" : [
                                                 "clamav-daemon",
                                                 "clamav-freshclam",
+                                                "fetchmail",
                                                 "pmgproxy",
                                                 "pmgdaemon",
                                                 "pmgpolicy",
@@ -7659,6 +9890,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "node",
                                     "returns" : {
@@ -7690,6 +9926,7 @@ var pmgapi = [
                                              "enum" : [
                                                 "clamav-daemon",
                                                 "clamav-freshclam",
+                                                "fetchmail",
                                                 "pmgproxy",
                                                 "pmgdaemon",
                                                 "pmgpolicy",
@@ -7710,6 +9947,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "node",
                                     "returns" : {
@@ -7741,6 +9983,7 @@ var pmgapi = [
                                              "enum" : [
                                                 "clamav-daemon",
                                                 "clamav-freshclam",
+                                                "fetchmail",
                                                 "pmgproxy",
                                                 "pmgdaemon",
                                                 "pmgpolicy",
@@ -7761,6 +10004,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "node",
                                     "returns" : {
@@ -7792,6 +10040,7 @@ var pmgapi = [
                                              "enum" : [
                                                 "clamav-daemon",
                                                 "clamav-freshclam",
+                                                "fetchmail",
                                                 "pmgproxy",
                                                 "pmgdaemon",
                                                 "pmgpolicy",
@@ -7812,6 +10061,11 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "permissions" : {
+                                       "check" : [
+                                          "admin"
+                                       ]
+                                    },
                                     "protected" : 1,
                                     "proxyto" : "node",
                                     "returns" : {
@@ -7843,6 +10097,7 @@ var pmgapi = [
                                        "enum" : [
                                           "clamav-daemon",
                                           "clamav-freshclam",
+                                          "fetchmail",
                                           "pmgproxy",
                                           "pmgdaemon",
                                           "pmgpolicy",
@@ -7863,6 +10118,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "returns" : {
                                  "items" : {
                                     "properties" : {
@@ -7903,6 +10164,12 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "node",
                         "returns" : {
@@ -7953,6 +10220,66 @@ var pmgapi = [
                         "returns" : {
                            "type" : "object"
                         }
+                     },
+                     "POST" : {
+                        "description" : "Update subscription info.",
+                        "method" : "POST",
+                        "name" : "update",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "force" : {
+                                 "default" : 0,
+                                 "description" : "Always connect to server, even if we have up to date info inside local cache.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
+                        "protected" : 1,
+                        "proxyto" : "node",
+                        "returns" : {
+                           "type" : "null"
+                        }
+                     },
+                     "PUT" : {
+                        "description" : "Set subscription key.",
+                        "method" : "PUT",
+                        "name" : "set",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "key" : {
+                                 "description" : "Proxmox Mail Gateway subscription key",
+                                 "maxLength" : 32,
+                                 "pattern" : "pmg([cbsp])-[0-9a-f]{10}",
+                                 "type" : "string"
+                              },
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "protected" : 1,
+                        "proxyto" : "node",
+                        "returns" : {
+                           "type" : "null"
+                        }
                      }
                   },
                   "leaf" : 1,
@@ -7978,6 +10305,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "node",
                               "returns" : {
@@ -8017,6 +10350,11 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "node",
                               "returns" : {
@@ -8056,6 +10394,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "proxyto" : "node",
                               "returns" : {
                                  "type" : "string"
@@ -8085,11 +10429,8 @@ var pmgapi = [
                               },
                               "permissions" : {
                                  "check" : [
-                                    "perm",
-                                    "/nodes/{node}",
-                                    [
-                                       "Sys.Audit"
-                                    ]
+                                    "admin",
+                                    "audit"
                                  ]
                               },
                               "proxyto" : "node",
@@ -8189,6 +10530,12 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin",
+                                    "audit"
+                                 ]
+                              },
                               "protected" : 1,
                               "proxyto" : "node",
                               "returns" : {
@@ -8331,6 +10678,12 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "node",
                         "returns" : {
@@ -8398,14 +10751,237 @@ var pmgapi = [
                                  "href" : "{id}",
                                  "rel" : "child"
                               }
-                           ],
-                           "type" : "array"
+                           ],
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/nodes/{node}/tracker",
+                  "text" : "tracker"
+               },
+               {
+                  "children" : [
+                     {
+                        "info" : {
+                           "DELETE" : {
+                              "description" : "Delete a backup file.",
+                              "method" : "DELETE",
+                              "name" : "delete",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "filename" : {
+                                       "description" : "The backup file name.",
+                                       "maxLength" : 256,
+                                       "minLength" : 4,
+                                       "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
+                                       "type" : "string"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           },
+                           "GET" : {
+                              "description" : "Download a backup file.",
+                              "download" : 1,
+                              "method" : "GET",
+                              "name" : "download",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "filename" : {
+                                       "description" : "The backup file name.",
+                                       "maxLength" : 256,
+                                       "minLength" : 4,
+                                       "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
+                                       "type" : "string"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "string"
+                              }
+                           },
+                           "POST" : {
+                              "description" : "Restore the system configuration.",
+                              "method" : "POST",
+                              "name" : "restore",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "config" : {
+                                       "default" : 0,
+                                       "description" : "Restore system configuration.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "database" : {
+                                       "default" : 1,
+                                       "description" : "Restore the rule database. This is the default.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "filename" : {
+                                       "description" : "The backup file name.",
+                                       "maxLength" : 256,
+                                       "minLength" : 4,
+                                       "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
+                                       "type" : "string"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "statistic" : {
+                                       "default" : 0,
+                                       "description" : "Restore statistic databases. Only considered when you restore the 'database'.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "admin"
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/backup/{filename}",
+                        "text" : "{filename}"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "description" : "List all stored backups (files named proxmox-backup_{DATE}.tgz).",
+                        "method" : "GET",
+                        "name" : "list",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
+                        "protected" : 1,
+                        "proxyto" : "node",
+                        "returns" : {
+                           "items" : {
+                              "properties" : {
+                                 "filename" : {
+                                    "description" : "The backup file name.",
+                                    "maxLength" : 256,
+                                    "minLength" : 4,
+                                    "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
+                                    "type" : "string"
+                                 },
+                                 "size" : {
+                                    "description" : "Size of backup file in bytes.",
+                                    "type" : "integer"
+                                 },
+                                 "timestamp" : {
+                                    "description" : "Backup timestamp (Unix epoch).",
+                                    "type" : "integer"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{filename}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     },
+                     "POST" : {
+                        "description" : "Backup the system configuration.",
+                        "method" : "POST",
+                        "name" : "backup",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "statistic" : {
+                                 "default" : 1,
+                                 "description" : "Backup statistic databases.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
+                        "protected" : 1,
+                        "proxyto" : "node",
+                        "returns" : {
+                           "type" : "string"
                         }
                      }
                   },
                   "leaf" : 0,
-                  "path" : "/nodes/{node}/tracker",
-                  "text" : "tracker"
+                  "path" : "/nodes/{node}/backup",
+                  "text" : "backup"
                },
                {
                   "info" : {
@@ -8444,6 +11020,12 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "node",
                         "returns" : {
@@ -8507,6 +11089,12 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "node",
                         "returns" : {
@@ -8534,9 +11122,9 @@ var pmgapi = [
                {
                   "info" : {
                      "POST" : {
-                        "description" : "Creates a VNC Shell proxy.",
+                        "description" : "Creates a Terminal proxy.",
                         "method" : "POST",
-                        "name" : "vncshell",
+                        "name" : "termproxy",
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
@@ -8552,16 +11140,14 @@ var pmgapi = [
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
-                              },
-                              "websocket" : {
-                                 "default" : 1,
-                                 "description" : "use websocket instead of standard vnc.",
-                                 "optional" : 1,
-                                 "type" : "boolean",
-                                 "typetext" : "<boolean>"
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "protected" : 1,
                         "returns" : {
                            "additionalProperties" : 0,
@@ -8583,8 +11169,8 @@ var pmgapi = [
                      }
                   },
                   "leaf" : 1,
-                  "path" : "/nodes/{node}/vncshell",
-                  "text" : "vncshell"
+                  "path" : "/nodes/{node}/termproxy",
+                  "text" : "termproxy"
                },
                {
                   "info" : {
@@ -8616,6 +11202,11 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
                         "returns" : {
                            "properties" : {
                               "port" : {
@@ -8647,6 +11238,12 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "proxyto" : "node",
                         "returns" : {
                            "additionalProperties" : 0,
@@ -8744,6 +11341,12 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "audit"
+                           ]
+                        },
                         "proxyto" : "node",
                         "returns" : {
                            "additionalProperties" : 0,
@@ -8836,6 +11439,40 @@ var pmgapi = [
                            },
                            "type" : "object"
                         }
+                     },
+                     "POST" : {
+                        "description" : "Reboot or shutdown a node.",
+                        "method" : "POST",
+                        "name" : "node_cmd",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "command" : {
+                                 "description" : "Specify the command.",
+                                 "enum" : [
+                                    "reboot",
+                                    "shutdown"
+                                 ],
+                                 "type" : "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,
@@ -8958,6 +11595,13 @@ var pmgapi = [
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "qmanager",
+                              "audit"
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
@@ -9086,7 +11730,9 @@ var pmgapi = [
                   },
                   "permissions" : {
                      "check" : [
-                        "admin"
+                        "admin",
+                        "qmanager",
+                        "audit"
                      ]
                   },
                   "protected" : 1,
@@ -9120,7 +11766,7 @@ var pmgapi = [
                   }
                },
                "POST" : {
-                  "description" : "Creat new user",
+                  "description" : "Create new user",
                   "method" : "POST",
                   "name" : "create",
                   "parameters" : {
@@ -9254,13 +11900,23 @@ var pmgapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "path" : {
+                           "description" : "Verify ticket, and check if user have access on 'path'",
+                           "maxLength" : 64,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "realm" : {
                            "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
-                           "format" : "pmg-realm",
+                           "enum" : [
+                              "pam",
+                              "pmg",
+                              "quarantine"
+                           ],
                            "maxLength" : 32,
                            "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
+                           "type" : "string"
                         },
                         "username" : {
                            "description" : "User name",
@@ -9977,8 +12633,8 @@ var pmgapi = [
                      "properties" : {
                         "id" : {
                            "description" : "Unique ID",
-                           "maxLength" : 40,
-                           "pattern" : "C\\d+R\\d+",
+                           "maxLength" : 60,
+                           "pattern" : "C\\d+R\\d+T\\d+",
                            "type" : "string"
                         },
                         "raw" : {
@@ -10072,8 +12728,8 @@ var pmgapi = [
                         },
                         "id" : {
                            "description" : "Unique ID",
-                           "maxLength" : 40,
-                           "pattern" : "C\\d+R\\d+",
+                           "maxLength" : 60,
+                           "pattern" : "C\\d+R\\d+T\\d+",
                            "type" : "string"
                         }
                      }
@@ -10870,6 +13526,14 @@ var pmgapi = [
                   "returns" : {
                      "items" : {
                         "properties" : {
+                           "bytes_in" : {
+                              "description" : "Incoming mail traffic (Bytes).",
+                              "type" : "number"
+                           },
+                           "bytes_out" : {
+                              "description" : "Outgoing mail traffic (Bytes).",
+                              "type" : "number"
+                           },
                            "count_in" : {
                               "description" : "Incoming mail count.",
                               "type" : "number"
@@ -10882,14 +13546,6 @@ var pmgapi = [
                               "description" : "Domain name.",
                               "type" : "string"
                            },
-                           "mbytes_in" : {
-                              "description" : "Incoming mail traffic (Mebibytes).",
-                              "type" : "number"
-                           },
-                           "mbytes_out" : {
-                              "description" : "Outgoing mail traffic (Mebibytes).",
-                              "type" : "number"
-                           },
                            "spamcount_in" : {
                               "description" : "Incoming spam mails.",
                               "type" : "number"
@@ -11012,13 +13668,21 @@ var pmgapi = [
                            "type" : "number"
                         },
                         "junk_in" : {
-                           "description" : "Incoming junk mail count (viruscount_in + spamcount_in + glcount + spfcount).",
+                           "description" : "Incoming junk mail count (viruscount_in + spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).",
                            "type" : "number"
                         },
                         "junk_out" : {
                            "description" : "Outgoing junk mail count (viruscount_out + spamcount_out).",
                            "type" : "number"
                         },
+                        "pregreet_rejects" : {
+                           "description" : "PREGREET recject count.",
+                           "type" : "integer"
+                        },
+                        "rbl_rejects" : {
+                           "description" : "Number of RBL rejects.",
+                           "type" : "integer"
+                        },
                         "spamcount_in" : {
                            "description" : "Incoming spam mails.",
                            "type" : "number"
@@ -11048,6 +13712,166 @@ var pmgapi = [
             "path" : "/statistics/mail",
             "text" : "mail"
          },
+         {
+            "info" : {
+               "GET" : {
+                  "description" : "Mail Count Statistics.",
+                  "method" : "GET",
+                  "name" : "recent",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "hours" : {
+                           "default" : 12,
+                           "description" : "How many hours you want to get",
+                           "maximum" : 24,
+                           "minimum" : 1,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - 24)"
+                        },
+                        "timespan" : {
+                           "default" : 1800,
+                           "description" : "The Timespan for one datapoint (in seconds)",
+                           "maximum" : 1800,
+                           "minimum" : 1,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - 1800)"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "qmanager",
+                        "audit"
+                     ]
+                  },
+                  "returns" : {
+                     "items" : {
+                        "properties" : {
+                           "bytes_in" : {
+                              "description" : "Number of incoming bytes mails.",
+                              "type" : "number"
+                           },
+                           "bytes_out" : {
+                              "description" : "Number of outgoing bytes mails.",
+                              "type" : "number"
+                           },
+                           "count" : {
+                              "description" : "Overall mail count (in and out).",
+                              "type" : "number"
+                           },
+                           "count_in" : {
+                              "description" : "Incoming mail count.",
+                              "type" : "number"
+                           },
+                           "count_out" : {
+                              "description" : "Outgoing mail count.",
+                              "type" : "number"
+                           },
+                           "index" : {
+                              "description" : "Time index.",
+                              "type" : "integer"
+                           },
+                           "spam" : {
+                              "description" : "Overall spam mail count (in and out).",
+                              "type" : "number"
+                           },
+                           "spam_in" : {
+                              "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).",
+                              "type" : "number"
+                           },
+                           "spam_out" : {
+                              "description" : "Outgoing spam mails.",
+                              "type" : "number"
+                           },
+                           "time" : {
+                              "description" : "Time (Unix epoch).",
+                              "type" : "integer"
+                           },
+                           "timespan" : {
+                              "description" : "Timespan in seconds for one data point",
+                              "type" : "number"
+                           },
+                           "virus_in" : {
+                              "description" : "Number of incoming virus mails.",
+                              "type" : "number"
+                           },
+                           "virus_out" : {
+                              "description" : "Number of outgoing virus mails.",
+                              "type" : "number"
+                           }
+                        },
+                        "type" : "object"
+                     },
+                     "type" : "array"
+                  }
+               }
+            },
+            "leaf" : 1,
+            "path" : "/statistics/recent",
+            "text" : "recent"
+         },
+         {
+            "info" : {
+               "GET" : {
+                  "description" : "Top recent Mail Receivers (including spam)",
+                  "method" : "GET",
+                  "name" : "recentreceivers",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "hours" : {
+                           "default" : 12,
+                           "description" : "How many hours you want to get",
+                           "maximum" : 24,
+                           "minimum" : 1,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - 24)"
+                        },
+                        "limit" : {
+                           "default" : 5,
+                           "description" : "The maximum number of receivers to return.",
+                           "maximum" : 50,
+                           "minimum" : 1,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - 50)"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "qmanager",
+                        "audit"
+                     ]
+                  },
+                  "returns" : {
+                     "items" : {
+                        "properties" : {
+                           "count" : {
+                              "description" : "The count of incoming not blocked E-Mails",
+                              "type" : "integer"
+                           },
+                           "receiver" : {
+                              "description" : "The receiver",
+                              "type" : "string"
+                           }
+                        },
+                        "type" : "object"
+                     },
+                     "type" : "array"
+                  }
+               }
+            },
+            "leaf" : 1,
+            "path" : "/statistics/recentreceivers",
+            "text" : "recentreceivers"
+         },
          {
             "info" : {
                "GET" : {
@@ -11140,8 +13964,16 @@ var pmgapi = [
                               "description" : "Time index.",
                               "type" : "integer"
                            },
+                           "pregreet_rejects" : {
+                              "description" : "PREGREET recject count.",
+                              "type" : "integer"
+                           },
+                           "rbl_rejects" : {
+                              "description" : "Number of RBL rejects.",
+                              "type" : "integer"
+                           },
                            "spamcount_in" : {
-                              "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).",
+                              "description" : "Incoming spam mails (spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).",
                               "type" : "number"
                            },
                            "spamcount_out" : {
@@ -11444,9 +14276,9 @@ var pmgapi = [
          {
             "info" : {
                "GET" : {
-                  "description" : "Mail RBL Count Statistics.",
+                  "description" : "Early SMTP reject count statistic (RBL, PREGREET rejects with postscreen)",
                   "method" : "GET",
-                  "name" : "rblcount",
+                  "name" : "rejectcount",
                   "parameters" : {
                      "additionalProperties" : 0,
                      "properties" : {
@@ -11482,7 +14314,7 @@ var pmgapi = [
                         },
                         "timespan" : {
                            "default" : 3600,
-                           "description" : "Return RBL rejects/<timespan>, where <timespan> is specified in seconds.",
+                           "description" : "Return RBL/PREGREET rejects/<timespan>, where <timespan> is specified in seconds.",
                            "maximum" : 31622400,
                            "minimum" : 3600,
                            "optional" : 1,
@@ -11509,14 +14341,18 @@ var pmgapi = [
                   "returns" : {
                      "items" : {
                         "properties" : {
-                           "count" : {
-                              "description" : "RBL recject count.",
-                              "type" : "number"
-                           },
                            "index" : {
                               "description" : "Time index.",
                               "type" : "integer"
                            },
+                           "pregreet_rejects" : {
+                              "description" : "PREGREET recject count.",
+                              "type" : "integer"
+                           },
+                           "rbl_rejects" : {
+                              "description" : "RBL recject count.",
+                              "type" : "integer"
+                           },
                            "time" : {
                               "description" : "Time (Unix epoch).",
                               "type" : "integer"
@@ -11529,8 +14365,8 @@ var pmgapi = [
                }
             },
             "leaf" : 1,
-            "path" : "/statistics/rblcount",
-            "text" : "rblcount"
+            "path" : "/statistics/rejectcount",
+            "text" : "rejectcount"
          }
       ],
       "info" : {