]> git.proxmox.com Git - pve-docs.git/blobdiff - api-viewer/apidata.js
totp: fix copy/paste mistake
[pve-docs.git] / api-viewer / apidata.js
index abeeb7b3f4606ddee25a7f98c6ac6b989a2c5211..aff69c63cb6b6c005e02293935564632def050b2 100644 (file)
@@ -180,7 +180,7 @@ const apiSchema = [
                      "additionalProperties" : 0
                   },
                   "permissions" : {
-                     "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
+                     "description" : "Will only return replication jobs for which the calling user has VM.Audit permission on /vms/<vmid>.",
                      "user" : "all"
                   },
                   "returns" : {
@@ -765,7 +765,7 @@ const apiSchema = [
                                     "permissions" : {
                                        "check" : [
                                           "perm",
-                                          "/mapping/notification",
+                                          "/mapping/notifications",
                                           [
                                              "Mapping.Modify"
                                           ]
@@ -796,14 +796,14 @@ const apiSchema = [
                                           "or",
                                           [
                                              "perm",
-                                             "/mapping/notification/{name}",
+                                             "/mapping/notifications",
                                              [
                                                 "Mapping.Modify"
                                              ]
                                           ],
                                           [
                                              "perm",
-                                             "/mapping/notification/{name}",
+                                             "/mapping/notifications",
                                              [
                                                 "Mapping.Audit"
                                              ]
@@ -829,11 +829,11 @@ const apiSchema = [
                                              "optional" : 1,
                                              "type" : "string"
                                           },
-                                          "filter" : {
-                                             "description" : "Name of the filter that should be applied.",
-                                             "format" : "pve-configid",
+                                          "disable" : {
+                                             "default" : 0,
+                                             "description" : "Disable this target",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "boolean"
                                           },
                                           "from-address" : {
                                              "description" : "`From` address for the mail",
@@ -904,12 +904,12 @@ const apiSchema = [
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
-                                          "filter" : {
-                                             "description" : "Name of the filter that should be applied.",
-                                             "format" : "pve-configid",
+                                          "disable" : {
+                                             "default" : 0,
+                                             "description" : "Disable this target",
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "from-address" : {
                                              "description" : "`From` address for the mail",
@@ -948,7 +948,7 @@ const apiSchema = [
                                     "permissions" : {
                                        "check" : [
                                           "perm",
-                                          "/mapping/notification/{name}",
+                                          "/mapping/notifications",
                                           [
                                              "Mapping.Modify"
                                           ]
@@ -975,8 +975,23 @@ const apiSchema = [
                                  "additionalProperties" : 0
                               },
                               "permissions" : {
-                                 "description" : "Only lists entries where you have 'Mapping.Modify', 'Mapping.Use' or 'Mapping.Audit' permissions on '/mapping/notification/<name>'.",
-                                 "user" : "all"
+                                 "check" : [
+                                    "or",
+                                    [
+                                       "perm",
+                                       "/mapping/notifications",
+                                       [
+                                          "Mapping.Modify"
+                                       ]
+                                    ],
+                                    [
+                                       "perm",
+                                       "/mapping/notifications",
+                                       [
+                                          "Mapping.Audit"
+                                       ]
+                                    ]
+                                 ]
                               },
                               "protected" : 1,
                               "returns" : {
@@ -992,11 +1007,11 @@ const apiSchema = [
                                           "optional" : 1,
                                           "type" : "string"
                                        },
-                                       "filter" : {
-                                          "description" : "Name of the filter that should be applied.",
-                                          "format" : "pve-configid",
+                                       "disable" : {
+                                          "default" : 0,
+                                          "description" : "Disable this target",
                                           "optional" : 1,
-                                          "type" : "string"
+                                          "type" : "boolean"
                                        },
                                        "from-address" : {
                                           "description" : "`From` address for the mail",
@@ -1025,6 +1040,15 @@ const apiSchema = [
                                           "description" : "The name of the endpoint.",
                                           "format" : "pve-configid",
                                           "type" : "string"
+                                       },
+                                       "origin" : {
+                                          "description" : "Show if this entry was created by a user or was built-in",
+                                          "enum" : [
+                                             "user-created",
+                                             "builtin",
+                                             "modified-builtin"
+                                          ],
+                                          "type" : "string"
                                        }
                                     },
                                     "type" : "object"
@@ -1058,12 +1082,12 @@ const apiSchema = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
-                                    "filter" : {
-                                       "description" : "Name of the filter that should be applied.",
-                                       "format" : "pve-configid",
+                                    "disable" : {
+                                       "default" : 0,
+                                       "description" : "Disable this target",
                                        "optional" : 1,
-                                       "type" : "string",
-                                       "typetext" : "<string>"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     },
                                     "from-address" : {
                                        "description" : "`From` address for the mail",
@@ -1102,7 +1126,7 @@ const apiSchema = [
                               "permissions" : {
                                  "check" : [
                                     "perm",
-                                    "/mapping/notification",
+                                    "/mapping/notifications",
                                     [
                                        "Mapping.Modify"
                                     ]
@@ -1140,7 +1164,7 @@ const apiSchema = [
                                     "permissions" : {
                                        "check" : [
                                           "perm",
-                                          "/mapping/notification/{name}",
+                                          "/mapping/notifications",
                                           [
                                              "Mapping.Modify"
                                           ]
@@ -1172,14 +1196,14 @@ const apiSchema = [
                                           "or",
                                           [
                                              "perm",
-                                             "/mapping/notification/{name}",
+                                             "/mapping/notifications",
                                              [
                                                 "Mapping.Modify"
                                              ]
                                           ],
                                           [
                                              "perm",
-                                             "/mapping/notification/{name}",
+                                             "/mapping/notifications",
                                              [
                                                 "Mapping.Audit"
                                              ]
@@ -1200,11 +1224,11 @@ const apiSchema = [
                                              "optional" : 1,
                                              "type" : "string"
                                           },
-                                          "filter" : {
-                                             "description" : "Name of the filter that should be applied.",
-                                             "format" : "pve-configid",
+                                          "disable" : {
+                                             "default" : 0,
+                                             "description" : "Disable this target",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "boolean"
                                           },
                                           "name" : {
                                              "description" : "The name of the endpoint.",
@@ -1250,12 +1274,12 @@ const apiSchema = [
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
-                                          "filter" : {
-                                             "description" : "Name of the filter that should be applied.",
-                                             "format" : "pve-configid",
+                                          "disable" : {
+                                             "default" : 0,
+                                             "description" : "Disable this target",
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "name" : {
                                              "description" : "The name of the endpoint.",
@@ -1280,7 +1304,7 @@ const apiSchema = [
                                     "permissions" : {
                                        "check" : [
                                           "perm",
-                                          "/mapping/notification/{name}",
+                                          "/mapping/notifications",
                                           [
                                              "Mapping.Modify"
                                           ]
@@ -1307,8 +1331,13 @@ const apiSchema = [
                                  "additionalProperties" : 0
                               },
                               "permissions" : {
-                                 "description" : "Only lists entries where you have 'Mapping.Modify', 'Mapping.Use' or 'Mapping.Audit' permissions on '/mapping/notification/<name>'.",
-                                 "user" : "all"
+                                 "check" : [
+                                    "perm",
+                                    "/mapping/notifications",
+                                    [
+                                       "Mapping.Audit"
+                                    ]
+                                 ]
                               },
                               "protected" : 1,
                               "returns" : {
@@ -1319,17 +1348,26 @@ const apiSchema = [
                                           "optional" : 1,
                                           "type" : "string"
                                        },
-                                       "filter" : {
-                                          "description" : "Name of the filter that should be applied.",
-                                          "format" : "pve-configid",
+                                       "disable" : {
+                                          "default" : 0,
+                                          "description" : "Disable this target",
                                           "optional" : 1,
-                                          "type" : "string"
+                                          "type" : "boolean"
                                        },
                                        "name" : {
                                           "description" : "The name of the endpoint.",
                                           "format" : "pve-configid",
                                           "type" : "string"
                                        },
+                                       "origin" : {
+                                          "description" : "Show if this entry was created by a user or was built-in",
+                                          "enum" : [
+                                             "user-created",
+                                             "builtin",
+                                             "modified-builtin"
+                                          ],
+                                          "type" : "string"
+                                       },
                                        "server" : {
                                           "description" : "Server URL",
                                           "type" : "string"
@@ -1360,12 +1398,12 @@ const apiSchema = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
-                                    "filter" : {
-                                       "description" : "Name of the filter that should be applied.",
-                                       "format" : "pve-configid",
+                                    "disable" : {
+                                       "default" : 0,
+                                       "description" : "Disable this target",
                                        "optional" : 1,
-                                       "type" : "string",
-                                       "typetext" : "<string>"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     },
                                     "name" : {
                                        "description" : "The name of the endpoint.",
@@ -1388,7 +1426,7 @@ const apiSchema = [
                               "permissions" : {
                                  "check" : [
                                     "perm",
-                                    "/mapping/notification",
+                                    "/mapping/notifications",
                                     [
                                        "Mapping.Modify"
                                     ]
@@ -1403,55 +1441,20 @@ const apiSchema = [
                         "leaf" : 0,
                         "path" : "/cluster/notifications/endpoints/gotify",
                         "text" : "gotify"
-                     }
-                  ],
-                  "info" : {
-                     "GET" : {
-                        "allowtoken" : 1,
-                        "description" : "Index for all available endpoint types.",
-                        "method" : "GET",
-                        "name" : "endpoints_index",
-                        "parameters" : {
-                           "additionalProperties" : 0
-                        },
-                        "permissions" : {
-                           "user" : "all"
-                        },
-                        "returns" : {
-                           "items" : {
-                              "properties" : {},
-                              "type" : "object"
-                           },
-                           "links" : [
-                              {
-                                 "href" : "{name}",
-                                 "rel" : "child"
-                              }
-                           ],
-                           "type" : "array"
-                        }
-                     }
-                  },
-                  "leaf" : 0,
-                  "path" : "/cluster/notifications/endpoints",
-                  "text" : "endpoints"
-               },
-               {
-                  "children" : [
+                     },
                      {
                         "children" : [
                            {
                               "info" : {
-                                 "POST" : {
+                                 "DELETE" : {
                                     "allowtoken" : 1,
-                                    "description" : "Send a test notification to a provided target.",
-                                    "method" : "POST",
-                                    "name" : "test_target",
+                                    "description" : "Remove smtp endpoint",
+                                    "method" : "DELETE",
+                                    "name" : "delete_smtp_endpoint",
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
                                           "name" : {
-                                             "description" : "Name of the target.",
                                              "format" : "pve-configid",
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -1459,8 +1462,258 @@ const apiSchema = [
                                        }
                                     },
                                     "permissions" : {
-                                       "description" : "The user requires 'Mapping.Modify', 'Mapping.Use' or 'Mapping.Audit' permissions on '/mapping/notification/<name>'. The special 'mail-to-root' target can be accessed by all users.",
-                                       "user" : "all"
+                                       "check" : [
+                                          "perm",
+                                          "/mapping/notifications",
+                                          [
+                                             "Mapping.Modify"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 },
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Return a specific smtp endpoint",
+                                    "method" : "GET",
+                                    "name" : "get_smtp_endpoint",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "name" : {
+                                             "format" : "pve-configid",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "or",
+                                          [
+                                             "perm",
+                                             "/mapping/notifications",
+                                             [
+                                                "Mapping.Modify"
+                                             ]
+                                          ],
+                                          [
+                                             "perm",
+                                             "/mapping/notifications",
+                                             [
+                                                "Mapping.Audit"
+                                             ]
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "properties" : {
+                                          "author" : {
+                                             "description" : "Author of the mail. Defaults to 'Proxmox VE'.",
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "comment" : {
+                                             "description" : "Comment",
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "digest" : {
+                                             "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+                                             "maxLength" : 64,
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "disable" : {
+                                             "default" : 0,
+                                             "description" : "Disable this target",
+                                             "optional" : 1,
+                                             "type" : "boolean"
+                                          },
+                                          "from-address" : {
+                                             "description" : "`From` address for the mail",
+                                             "type" : "string"
+                                          },
+                                          "mailto" : {
+                                             "description" : "List of email recipients",
+                                             "items" : {
+                                                "format" : "email-or-username",
+                                                "type" : "string"
+                                             },
+                                             "optional" : 1,
+                                             "type" : "array"
+                                          },
+                                          "mailto-user" : {
+                                             "description" : "List of users",
+                                             "items" : {
+                                                "format" : "pve-userid",
+                                                "type" : "string"
+                                             },
+                                             "optional" : 1,
+                                             "type" : "array"
+                                          },
+                                          "mode" : {
+                                             "default" : "tls",
+                                             "description" : "Determine which encryption method shall be used for the connection.",
+                                             "enum" : [
+                                                "insecure",
+                                                "starttls",
+                                                "tls"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "name" : {
+                                             "description" : "The name of the endpoint.",
+                                             "format" : "pve-configid",
+                                             "type" : "string"
+                                          },
+                                          "port" : {
+                                             "description" : "The port to be used. Defaults to 465 for TLS based connections, 587 for STARTTLS based connections and port 25 for insecure plain-text connections.",
+                                             "optional" : 1,
+                                             "type" : "integer"
+                                          },
+                                          "server" : {
+                                             "description" : "The address of the SMTP server.",
+                                             "type" : "string"
+                                          },
+                                          "username" : {
+                                             "description" : "Username for SMTP authentication",
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "PUT" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Update existing smtp endpoint",
+                                    "method" : "PUT",
+                                    "name" : "update_smtp_endpoint",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "author" : {
+                                             "description" : "Author of the mail. Defaults to 'Proxmox VE'.",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "comment" : {
+                                             "description" : "Comment",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "delete" : {
+                                             "description" : "A list of settings you want to delete.",
+                                             "items" : {
+                                                "format" : "pve-configid",
+                                                "type" : "string"
+                                             },
+                                             "optional" : 1,
+                                             "type" : "array",
+                                             "typetext" : "<array>"
+                                          },
+                                          "digest" : {
+                                             "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+                                             "maxLength" : 64,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "disable" : {
+                                             "default" : 0,
+                                             "description" : "Disable this target",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "from-address" : {
+                                             "description" : "`From` address for the mail",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "mailto" : {
+                                             "description" : "List of email recipients",
+                                             "items" : {
+                                                "format" : "email-or-username",
+                                                "type" : "string"
+                                             },
+                                             "optional" : 1,
+                                             "type" : "array",
+                                             "typetext" : "<array>"
+                                          },
+                                          "mailto-user" : {
+                                             "description" : "List of users",
+                                             "items" : {
+                                                "format" : "pve-userid",
+                                                "type" : "string"
+                                             },
+                                             "optional" : 1,
+                                             "type" : "array",
+                                             "typetext" : "<array>"
+                                          },
+                                          "mode" : {
+                                             "default" : "tls",
+                                             "description" : "Determine which encryption method shall be used for the connection.",
+                                             "enum" : [
+                                                "insecure",
+                                                "starttls",
+                                                "tls"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "name" : {
+                                             "description" : "The name of the endpoint.",
+                                             "format" : "pve-configid",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "password" : {
+                                             "description" : "Password for SMTP authentication",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "port" : {
+                                             "description" : "The port to be used. Defaults to 465 for TLS based connections, 587 for STARTTLS based connections and port 25 for insecure plain-text connections.",
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer>"
+                                          },
+                                          "server" : {
+                                             "description" : "The address of the SMTP server.",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "username" : {
+                                             "description" : "Username for SMTP authentication",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "or",
+                                          [
+                                             "perm",
+                                             "/mapping/notifications",
+                                             [
+                                                "Mapping.Modify"
+                                             ]
+                                          ]
+                                       ]
                                     },
                                     "protected" : 1,
                                     "returns" : {
@@ -1469,129 +1722,32 @@ const apiSchema = [
                                  }
                               },
                               "leaf" : 1,
-                              "path" : "/cluster/notifications/targets/{name}/test",
-                              "text" : "test"
+                              "path" : "/cluster/notifications/endpoints/smtp/{name}",
+                              "text" : "{name}"
                            }
                         ],
-                        "leaf" : 0,
-                        "path" : "/cluster/notifications/targets/{name}",
-                        "text" : "{name}"
-                     }
-                  ],
-                  "info" : {
-                     "GET" : {
-                        "allowtoken" : 1,
-                        "description" : "Returns a list of all entities that can be used as notification targets (endpoints and groups).",
-                        "method" : "GET",
-                        "name" : "get_all_targets",
-                        "parameters" : {
-                           "additionalProperties" : 0
-                        },
-                        "permissions" : {
-                           "description" : "Only lists entries where you have 'Mapping.Modify', 'Mapping.Use' or 'Mapping.Audit' permissions on '/mapping/notification/<name>'. The special 'mail-to-root' target is available to all users.",
-                           "user" : "all"
-                        },
-                        "protected" : 1,
-                        "returns" : {
-                           "items" : {
-                              "properties" : {
-                                 "comment" : {
-                                    "description" : "Comment",
-                                    "optional" : 1,
-                                    "type" : "string"
-                                 },
-                                 "name" : {
-                                    "description" : "Name of the endpoint/group.",
-                                    "format" : "pve-configid",
-                                    "type" : "string"
-                                 },
-                                 "type" : {
-                                    "description" : "Type of the endpoint or group.",
-                                    "enum" : [
-                                       "sendmail",
-                                       "gotify",
-                                       "group"
-                                    ],
-                                    "type" : "string"
-                                 }
-                              },
-                              "type" : "object"
-                           },
-                           "links" : [
-                              {
-                                 "href" : "{name}",
-                                 "rel" : "child"
-                              }
-                           ],
-                           "type" : "array"
-                        }
-                     }
-                  },
-                  "leaf" : 0,
-                  "path" : "/cluster/notifications/targets",
-                  "text" : "targets"
-               },
-               {
-                  "children" : [
-                     {
                         "info" : {
-                           "DELETE" : {
-                              "allowtoken" : 1,
-                              "description" : "Remove group",
-                              "method" : "DELETE",
-                              "name" : "delete_group",
-                              "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "name" : {
-                                       "format" : "pve-configid",
-                                       "type" : "string",
-                                       "typetext" : "<string>"
-                                    }
-                                 }
-                              },
-                              "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/mapping/notification/{name}",
-                                    [
-                                       "Mapping.Modify"
-                                    ]
-                                 ]
-                              },
-                              "protected" : 1,
-                              "returns" : {
-                                 "type" : "null"
-                              }
-                           },
                            "GET" : {
                               "allowtoken" : 1,
-                              "description" : "Return a specific group",
+                              "description" : "Returns a list of all smtp endpoints",
                               "method" : "GET",
-                              "name" : "get_group",
+                              "name" : "get_smtp_endpoints",
                               "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "name" : {
-                                       "format" : "pve-configid",
-                                       "type" : "string",
-                                       "typetext" : "<string>"
-                                    }
-                                 }
+                                 "additionalProperties" : 0
                               },
                               "permissions" : {
                                  "check" : [
                                     "or",
                                     [
                                        "perm",
-                                       "/mapping/notification/{name}",
+                                       "/mapping/notifications",
                                        [
                                           "Mapping.Modify"
                                        ]
                                     ],
                                     [
                                        "perm",
-                                       "/mapping/notification/{name}",
+                                       "/mapping/notifications",
                                        [
                                           "Mapping.Audit"
                                        ]
@@ -1600,92 +1756,186 @@ const apiSchema = [
                               },
                               "protected" : 1,
                               "returns" : {
-                                 "properties" : {
-                                    "comment" : {
-                                       "description" : "Comment",
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "digest" : {
-                                       "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
-                                       "maxLength" : 64,
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "endpoint" : {
-                                       "description" : "List of included endpoints",
-                                       "items" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "author" : {
+                                          "description" : "Author of the mail. Defaults to 'Proxmox VE'.",
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "comment" : {
+                                          "description" : "Comment",
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "disable" : {
+                                          "default" : 0,
+                                          "description" : "Disable this target",
+                                          "optional" : 1,
+                                          "type" : "boolean"
+                                       },
+                                       "from-address" : {
+                                          "description" : "`From` address for the mail",
+                                          "type" : "string"
+                                       },
+                                       "mailto" : {
+                                          "description" : "List of email recipients",
+                                          "items" : {
+                                             "format" : "email-or-username",
+                                             "type" : "string"
+                                          },
+                                          "optional" : 1,
+                                          "type" : "array"
+                                       },
+                                       "mailto-user" : {
+                                          "description" : "List of users",
+                                          "items" : {
+                                             "format" : "pve-userid",
+                                             "type" : "string"
+                                          },
+                                          "optional" : 1,
+                                          "type" : "array"
+                                       },
+                                       "mode" : {
+                                          "default" : "tls",
+                                          "description" : "Determine which encryption method shall be used for the connection.",
+                                          "enum" : [
+                                             "insecure",
+                                             "starttls",
+                                             "tls"
+                                          ],
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "name" : {
+                                          "description" : "The name of the endpoint.",
                                           "format" : "pve-configid",
                                           "type" : "string"
                                        },
-                                       "type" : "array"
-                                    },
-                                    "filter" : {
-                                       "description" : "Name of the filter that should be applied.",
-                                       "format" : "pve-configid",
-                                       "optional" : 1,
-                                       "type" : "string"
+                                       "origin" : {
+                                          "description" : "Show if this entry was created by a user or was built-in",
+                                          "enum" : [
+                                             "user-created",
+                                             "builtin",
+                                             "modified-builtin"
+                                          ],
+                                          "type" : "string"
+                                       },
+                                       "port" : {
+                                          "description" : "The port to be used. Defaults to 465 for TLS based connections, 587 for STARTTLS based connections and port 25 for insecure plain-text connections.",
+                                          "optional" : 1,
+                                          "type" : "integer"
+                                       },
+                                       "server" : {
+                                          "description" : "The address of the SMTP server.",
+                                          "type" : "string"
+                                       },
+                                       "username" : {
+                                          "description" : "Username for SMTP authentication",
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       }
                                     },
-                                    "name" : {
-                                       "description" : "Name of the group.",
-                                       "format" : "pve-configid",
-                                       "type" : "string"
-                                    }
+                                    "type" : "object"
                                  },
-                                 "type" : "object"
+                                 "links" : [
+                                    {
+                                       "href" : "{name}",
+                                       "rel" : "child"
+                                    }
+                                 ],
+                                 "type" : "array"
                               }
                            },
-                           "PUT" : {
+                           "POST" : {
                               "allowtoken" : 1,
-                              "description" : "Update existing group",
-                              "method" : "PUT",
-                              "name" : "update_group",
+                              "description" : "Create a new smtp endpoint",
+                              "method" : "POST",
+                              "name" : "create_smtp_endpoint",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "author" : {
+                                       "description" : "Author of the mail. Defaults to 'Proxmox VE'.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "comment" : {
                                        "description" : "Comment",
                                        "optional" : 1,
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
-                                    "delete" : {
-                                       "description" : "A list of settings you want to delete.",
+                                    "disable" : {
+                                       "default" : 0,
+                                       "description" : "Disable this target",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "from-address" : {
+                                       "description" : "`From` address for the mail",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "mailto" : {
+                                       "description" : "List of email recipients",
                                        "items" : {
-                                          "format" : "pve-configid",
+                                          "format" : "email-or-username",
                                           "type" : "string"
                                        },
                                        "optional" : 1,
                                        "type" : "array",
                                        "typetext" : "<array>"
                                     },
-                                    "digest" : {
-                                       "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
-                                       "maxLength" : 64,
-                                       "optional" : 1,
-                                       "type" : "string",
-                                       "typetext" : "<string>"
-                                    },
-                                    "endpoint" : {
-                                       "description" : "List of included endpoints",
+                                    "mailto-user" : {
+                                       "description" : "List of users",
                                        "items" : {
-                                          "format" : "pve-configid",
+                                          "format" : "pve-userid",
                                           "type" : "string"
                                        },
                                        "optional" : 1,
                                        "type" : "array",
                                        "typetext" : "<array>"
                                     },
-                                    "filter" : {
-                                       "description" : "Name of the filter that should be applied.",
+                                    "mode" : {
+                                       "default" : "tls",
+                                       "description" : "Determine which encryption method shall be used for the connection.",
+                                       "enum" : [
+                                          "insecure",
+                                          "starttls",
+                                          "tls"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "name" : {
+                                       "description" : "The name of the endpoint.",
                                        "format" : "pve-configid",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "password" : {
+                                       "description" : "Password for SMTP authentication",
                                        "optional" : 1,
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
-                                    "name" : {
-                                       "description" : "Name of the group.",
-                                       "format" : "pve-configid",
+                                    "port" : {
+                                       "description" : "The port to be used. Defaults to 465 for TLS based connections, 587 for STARTTLS based connections and port 25 for insecure plain-text connections.",
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer>"
+                                    },
+                                    "server" : {
+                                       "description" : "The address of the SMTP server.",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "username" : {
+                                       "description" : "Username for SMTP authentication",
+                                       "optional" : 1,
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     }
@@ -1693,10 +1943,13 @@ const apiSchema = [
                               },
                               "permissions" : {
                                  "check" : [
-                                    "perm",
-                                    "/mapping/notification/{name}",
+                                    "or",
                                     [
-                                       "Mapping.Modify"
+                                       "perm",
+                                       "/mapping/notifications",
+                                       [
+                                          "Mapping.Modify"
+                                       ]
                                     ]
                                  ]
                               },
@@ -1706,24 +1959,141 @@ const apiSchema = [
                               }
                            }
                         },
-                        "leaf" : 1,
-                        "path" : "/cluster/notifications/groups/{name}",
-                        "text" : "{name}"
+                        "leaf" : 0,
+                        "path" : "/cluster/notifications/endpoints/smtp",
+                        "text" : "smtp"
                      }
                   ],
                   "info" : {
                      "GET" : {
                         "allowtoken" : 1,
-                        "description" : "Returns a list of all groups",
+                        "description" : "Index for all available endpoint types.",
                         "method" : "GET",
-                        "name" : "get_groups",
+                        "name" : "endpoints_index",
                         "parameters" : {
                            "additionalProperties" : 0
                         },
                         "permissions" : {
-                           "description" : "Only lists entries where you have 'Mapping.Modify', 'Mapping.Use' or 'Mapping.Audit' permissions on '/mapping/notification/<name>'.",
                            "user" : "all"
                         },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {},
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{name}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/cluster/notifications/endpoints",
+                  "text" : "endpoints"
+               },
+               {
+                  "children" : [
+                     {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "POST" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Send a test notification to a provided target.",
+                                    "method" : "POST",
+                                    "name" : "test_target",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "name" : {
+                                             "description" : "Name of the target.",
+                                             "format" : "pve-configid",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "or",
+                                          [
+                                             "perm",
+                                             "/mapping/notifications",
+                                             [
+                                                "Mapping.Modify"
+                                             ]
+                                          ],
+                                          [
+                                             "perm",
+                                             "/mapping/notifications",
+                                             [
+                                                "Mapping.Audit"
+                                             ]
+                                          ],
+                                          [
+                                             "perm",
+                                             "/mapping/notifications",
+                                             [
+                                                "Mapping.Use"
+                                             ]
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/cluster/notifications/targets/{name}/test",
+                              "text" : "test"
+                           }
+                        ],
+                        "leaf" : 0,
+                        "path" : "/cluster/notifications/targets/{name}",
+                        "text" : "{name}"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 1,
+                        "description" : "Returns a list of all entities that can be used as notification targets.",
+                        "method" : "GET",
+                        "name" : "get_all_targets",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "or",
+                              [
+                                 "perm",
+                                 "/mapping/notifications",
+                                 [
+                                    "Mapping.Modify"
+                                 ]
+                              ],
+                              [
+                                 "perm",
+                                 "/mapping/notifications",
+                                 [
+                                    "Mapping.Audit"
+                                 ]
+                              ],
+                              [
+                                 "perm",
+                                 "/mapping/notifications",
+                                 [
+                                    "Mapping.Use"
+                                 ]
+                              ]
+                           ]
+                        },
                         "protected" : 1,
                         "returns" : {
                            "items" : {
@@ -1733,24 +2103,34 @@ const apiSchema = [
                                     "optional" : 1,
                                     "type" : "string"
                                  },
-                                 "endpoint" : {
-                                    "description" : "List of included endpoints",
-                                    "items" : {
-                                       "format" : "pve-configid",
-                                       "type" : "string"
-                                    },
-                                    "type" : "array"
-                                 },
-                                 "filter" : {
-                                    "description" : "Name of the filter that should be applied.",
-                                    "format" : "pve-configid",
+                                 "disable" : {
+                                    "default" : 0,
+                                    "description" : "Show if this target is disabled",
                                     "optional" : 1,
-                                    "type" : "string"
+                                    "type" : "boolean"
                                  },
                                  "name" : {
-                                    "description" : "Name of the group.",
+                                    "description" : "Name of the target.",
                                     "format" : "pve-configid",
                                     "type" : "string"
+                                 },
+                                 "origin" : {
+                                    "description" : "Show if this entry was created by a user or was built-in",
+                                    "enum" : [
+                                       "user-created",
+                                       "builtin",
+                                       "modified-builtin"
+                                    ],
+                                    "type" : "string"
+                                 },
+                                 "type" : {
+                                    "description" : "Type of the target.",
+                                    "enum" : [
+                                       "sendmail",
+                                       "gotify",
+                                       "smtp"
+                                    ],
+                                    "type" : "string"
                                  }
                               },
                               "type" : "object"
@@ -1763,63 +2143,11 @@ const apiSchema = [
                            ],
                            "type" : "array"
                         }
-                     },
-                     "POST" : {
-                        "allowtoken" : 1,
-                        "description" : "Create a new group",
-                        "method" : "POST",
-                        "name" : "create_group",
-                        "parameters" : {
-                           "additionalProperties" : 0,
-                           "properties" : {
-                              "comment" : {
-                                 "description" : "Comment",
-                                 "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              },
-                              "endpoint" : {
-                                 "description" : "List of included endpoints",
-                                 "items" : {
-                                    "format" : "pve-configid",
-                                    "type" : "string"
-                                 },
-                                 "type" : "array",
-                                 "typetext" : "<array>"
-                              },
-                              "filter" : {
-                                 "description" : "Name of the filter that should be applied.",
-                                 "format" : "pve-configid",
-                                 "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              },
-                              "name" : {
-                                 "description" : "Name of the group.",
-                                 "format" : "pve-configid",
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              }
-                           }
-                        },
-                        "permissions" : {
-                           "check" : [
-                              "perm",
-                              "/mapping/notification",
-                              [
-                                 "Mapping.Modify"
-                              ]
-                           ]
-                        },
-                        "protected" : 1,
-                        "returns" : {
-                           "type" : "null"
-                        }
                      }
                   },
                   "leaf" : 0,
-                  "path" : "/cluster/notifications/groups",
-                  "text" : "groups"
+                  "path" : "/cluster/notifications/targets",
+                  "text" : "targets"
                },
                {
                   "children" : [
@@ -1827,9 +2155,9 @@ const apiSchema = [
                         "info" : {
                            "DELETE" : {
                               "allowtoken" : 1,
-                              "description" : "Remove filter",
+                              "description" : "Remove matcher",
                               "method" : "DELETE",
-                              "name" : "delete_filter",
+                              "name" : "delete_matcher",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
@@ -1843,7 +2171,7 @@ const apiSchema = [
                               "permissions" : {
                                  "check" : [
                                     "perm",
-                                    "/mapping/notification/{name}",
+                                    "/mapping/notifications",
                                     [
                                        "Mapping.Modify"
                                     ]
@@ -1856,9 +2184,9 @@ const apiSchema = [
                            },
                            "GET" : {
                               "allowtoken" : 1,
-                              "description" : "Return a specific filter",
+                              "description" : "Return a specific matcher",
                               "method" : "GET",
-                              "name" : "get_filter",
+                              "name" : "get_matcher",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
@@ -1874,14 +2202,14 @@ const apiSchema = [
                                     "or",
                                     [
                                        "perm",
-                                       "/mapping/notification/{name}",
+                                       "/mapping/notifications",
                                        [
                                           "Mapping.Modify"
                                        ]
                                     ],
                                     [
                                        "perm",
-                                       "/mapping/notification/{name}",
+                                       "/mapping/notifications",
                                        [
                                           "Mapping.Audit"
                                        ]
@@ -1902,36 +2230,64 @@ const apiSchema = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "disable" : {
+                                       "default" : 0,
+                                       "description" : "Disable this matcher",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "invert-match" : {
-                                       "description" : "Invert match of the whole filter",
+                                       "description" : "Invert match of the whole matcher",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
-                                    "min-severity" : {
-                                       "description" : "Minimum severity to match",
-                                       "enum" : [
-                                          "info",
-                                          "notice",
-                                          "warning",
-                                          "error"
-                                       ],
+                                    "match-calendar" : {
+                                       "description" : "Match notification timestamp",
+                                       "items" : {
+                                          "type" : "string"
+                                       },
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "array"
+                                    },
+                                    "match-field" : {
+                                       "description" : "Metadata fields to match (regex or exact match). Must be in the form (regex|exact):<field>=<value>",
+                                       "items" : {
+                                          "type" : "string"
+                                       },
+                                       "optional" : 1,
+                                       "type" : "array"
+                                    },
+                                    "match-severity" : {
+                                       "description" : "Notification severities to match",
+                                       "items" : {
+                                          "type" : "string"
+                                       },
+                                       "optional" : 1,
+                                       "type" : "array"
                                     },
                                     "mode" : {
-                                       "default" : "and",
-                                       "description" : "Choose between 'and' and 'or' for when multiple properties are specified",
+                                       "default" : "all",
+                                       "description" : "Choose between 'all' and 'any' for when multiple properties are specified",
                                        "enum" : [
-                                          "and",
-                                          "or"
+                                          "all",
+                                          "any"
                                        ],
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "name" : {
-                                       "description" : "Name of the endpoint.",
+                                       "description" : "Name of the matcher.",
                                        "format" : "pve-configid",
                                        "type" : "string"
+                                    },
+                                    "target" : {
+                                       "description" : "Targets to notify on match",
+                                       "items" : {
+                                          "format" : "pve-configid",
+                                          "type" : "string"
+                                       },
+                                       "optional" : 1,
+                                       "type" : "array"
                                     }
                                  },
                                  "type" : "object"
@@ -1939,9 +2295,9 @@ const apiSchema = [
                            },
                            "PUT" : {
                               "allowtoken" : 1,
-                              "description" : "Update existing filter",
+                              "description" : "Update existing matcher",
                               "method" : "PUT",
-                              "name" : "update_filter",
+                              "name" : "update_matcher",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
@@ -1968,45 +2324,78 @@ const apiSchema = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "disable" : {
+                                       "default" : 0,
+                                       "description" : "Disable this matcher",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "invert-match" : {
-                                       "description" : "Invert match of the whole filter",
+                                       "description" : "Invert match of the whole matcher",
                                        "optional" : 1,
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
                                     },
-                                    "min-severity" : {
-                                       "description" : "Minimum severity to match",
-                                       "enum" : [
-                                          "info",
-                                          "notice",
-                                          "warning",
-                                          "error"
-                                       ],
+                                    "match-calendar" : {
+                                       "description" : "Match notification timestamp",
+                                       "items" : {
+                                          "type" : "string"
+                                       },
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "array",
+                                       "typetext" : "<array>"
+                                    },
+                                    "match-field" : {
+                                       "description" : "Metadata fields to match (regex or exact match). Must be in the form (regex|exact):<field>=<value>",
+                                       "items" : {
+                                          "type" : "string"
+                                       },
+                                       "optional" : 1,
+                                       "type" : "array",
+                                       "typetext" : "<array>"
+                                    },
+                                    "match-severity" : {
+                                       "description" : "Notification severities to match",
+                                       "items" : {
+                                          "type" : "string"
+                                       },
+                                       "optional" : 1,
+                                       "type" : "array",
+                                       "typetext" : "<array>"
                                     },
                                     "mode" : {
-                                       "default" : "and",
-                                       "description" : "Choose between 'and' and 'or' for when multiple properties are specified",
+                                       "default" : "all",
+                                       "description" : "Choose between 'all' and 'any' for when multiple properties are specified",
                                        "enum" : [
-                                          "and",
-                                          "or"
+                                          "all",
+                                          "any"
                                        ],
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "name" : {
-                                       "description" : "Name of the endpoint.",
+                                       "description" : "Name of the matcher.",
                                        "format" : "pve-configid",
                                        "type" : "string",
                                        "typetext" : "<string>"
+                                    },
+                                    "target" : {
+                                       "description" : "Targets to notify on match",
+                                       "items" : {
+                                          "format" : "pve-configid",
+                                          "type" : "string"
+                                       },
+                                       "optional" : 1,
+                                       "type" : "array",
+                                       "typetext" : "<array>"
                                     }
                                  }
                               },
                               "permissions" : {
                                  "check" : [
                                     "perm",
-                                    "/mapping/notification/{name}",
+                                    "/mapping/notifications",
                                     [
                                        "Mapping.Modify"
                                     ]
@@ -2019,22 +2408,44 @@ const apiSchema = [
                            }
                         },
                         "leaf" : 1,
-                        "path" : "/cluster/notifications/filters/{name}",
+                        "path" : "/cluster/notifications/matchers/{name}",
                         "text" : "{name}"
                      }
                   ],
                   "info" : {
                      "GET" : {
                         "allowtoken" : 1,
-                        "description" : "Returns a list of all filters",
+                        "description" : "Returns a list of all matchers",
                         "method" : "GET",
-                        "name" : "get_filters",
+                        "name" : "get_matchers",
                         "parameters" : {
                            "additionalProperties" : 0
                         },
                         "permissions" : {
-                           "description" : "Only lists entries where you have 'Mapping.Modify', 'Mapping.Use' or 'Mapping.Audit' permissions on '/mapping/notification/<name>'.",
-                           "user" : "all"
+                           "check" : [
+                              "or",
+                              [
+                                 "perm",
+                                 "/mapping/notifications",
+                                 [
+                                    "Mapping.Modify"
+                                 ]
+                              ],
+                              [
+                                 "perm",
+                                 "/mapping/notifications",
+                                 [
+                                    "Mapping.Audit"
+                                 ]
+                              ],
+                              [
+                                 "perm",
+                                 "/mapping/notifications",
+                                 [
+                                    "Mapping.Use"
+                                 ]
+                              ]
+                           ]
                         },
                         "protected" : 1,
                         "returns" : {
@@ -2045,36 +2456,73 @@ const apiSchema = [
                                     "optional" : 1,
                                     "type" : "string"
                                  },
+                                 "disable" : {
+                                    "default" : 0,
+                                    "description" : "Disable this matcher",
+                                    "optional" : 1,
+                                    "type" : "boolean"
+                                 },
                                  "invert-match" : {
-                                    "description" : "Invert match of the whole filter",
+                                    "description" : "Invert match of the whole matcher",
                                     "optional" : 1,
                                     "type" : "boolean"
                                  },
-                                 "min-severity" : {
-                                    "description" : "Minimum severity to match",
-                                    "enum" : [
-                                       "info",
-                                       "notice",
-                                       "warning",
-                                       "error"
-                                    ],
+                                 "match-calendar" : {
+                                    "description" : "Match notification timestamp",
+                                    "items" : {
+                                       "type" : "string"
+                                    },
                                     "optional" : 1,
-                                    "type" : "string"
+                                    "type" : "array"
+                                 },
+                                 "match-field" : {
+                                    "description" : "Metadata fields to match (regex or exact match). Must be in the form (regex|exact):<field>=<value>",
+                                    "items" : {
+                                       "type" : "string"
+                                    },
+                                    "optional" : 1,
+                                    "type" : "array"
+                                 },
+                                 "match-severity" : {
+                                    "description" : "Notification severities to match",
+                                    "items" : {
+                                       "type" : "string"
+                                    },
+                                    "optional" : 1,
+                                    "type" : "array"
                                  },
                                  "mode" : {
-                                    "default" : "and",
-                                    "description" : "Choose between 'and' and 'or' for when multiple properties are specified",
+                                    "default" : "all",
+                                    "description" : "Choose between 'all' and 'any' for when multiple properties are specified",
                                     "enum" : [
-                                       "and",
-                                       "or"
+                                       "all",
+                                       "any"
                                     ],
                                     "optional" : 1,
                                     "type" : "string"
                                  },
                                  "name" : {
-                                    "description" : "Name of the endpoint.",
+                                    "description" : "Name of the matcher.",
                                     "format" : "pve-configid",
                                     "type" : "string"
+                                 },
+                                 "origin" : {
+                                    "description" : "Show if this entry was created by a user or was built-in",
+                                    "enum" : [
+                                       "user-created",
+                                       "builtin",
+                                       "modified-builtin"
+                                    ],
+                                    "type" : "string"
+                                 },
+                                 "target" : {
+                                    "description" : "Targets to notify on match",
+                                    "items" : {
+                                       "format" : "pve-configid",
+                                       "type" : "string"
+                                    },
+                                    "optional" : 1,
+                                    "type" : "array"
                                  }
                               },
                               "type" : "object"
@@ -2090,9 +2538,9 @@ const apiSchema = [
                      },
                      "POST" : {
                         "allowtoken" : 1,
-                        "description" : "Create a new filter",
+                        "description" : "Create a new matcher",
                         "method" : "POST",
-                        "name" : "create_filter",
+                        "name" : "create_matcher",
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
@@ -2102,45 +2550,78 @@ const apiSchema = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "disable" : {
+                                 "default" : 0,
+                                 "description" : "Disable this matcher",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
                               "invert-match" : {
-                                 "description" : "Invert match of the whole filter",
+                                 "description" : "Invert match of the whole matcher",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
                               },
-                              "min-severity" : {
-                                 "description" : "Minimum severity to match",
-                                 "enum" : [
-                                    "info",
-                                    "notice",
-                                    "warning",
-                                    "error"
-                                 ],
+                              "match-calendar" : {
+                                 "description" : "Match notification timestamp",
+                                 "items" : {
+                                    "type" : "string"
+                                 },
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "array",
+                                 "typetext" : "<array>"
+                              },
+                              "match-field" : {
+                                 "description" : "Metadata fields to match (regex or exact match). Must be in the form (regex|exact):<field>=<value>",
+                                 "items" : {
+                                    "type" : "string"
+                                 },
+                                 "optional" : 1,
+                                 "type" : "array",
+                                 "typetext" : "<array>"
+                              },
+                              "match-severity" : {
+                                 "description" : "Notification severities to match",
+                                 "items" : {
+                                    "type" : "string"
+                                 },
+                                 "optional" : 1,
+                                 "type" : "array",
+                                 "typetext" : "<array>"
                               },
                               "mode" : {
-                                 "default" : "and",
-                                 "description" : "Choose between 'and' and 'or' for when multiple properties are specified",
+                                 "default" : "all",
+                                 "description" : "Choose between 'all' and 'any' for when multiple properties are specified",
                                  "enum" : [
-                                    "and",
-                                    "or"
+                                    "all",
+                                    "any"
                                  ],
                                  "optional" : 1,
                                  "type" : "string"
                               },
                               "name" : {
-                                 "description" : "Name of the endpoint.",
+                                 "description" : "Name of the matcher.",
                                  "format" : "pve-configid",
                                  "type" : "string",
                                  "typetext" : "<string>"
+                              },
+                              "target" : {
+                                 "description" : "Targets to notify on match",
+                                 "items" : {
+                                    "format" : "pve-configid",
+                                    "type" : "string"
+                                 },
+                                 "optional" : 1,
+                                 "type" : "array",
+                                 "typetext" : "<array>"
                               }
                            }
                         },
                         "permissions" : {
                            "check" : [
                               "perm",
-                              "/mapping/notification",
+                              "/mapping/notifications",
                               [
                                  "Mapping.Modify"
                               ]
@@ -2153,8 +2634,8 @@ const apiSchema = [
                      }
                   },
                   "leaf" : 0,
-                  "path" : "/cluster/notifications/filters",
-                  "text" : "filters"
+                  "path" : "/cluster/notifications/matchers",
+                  "text" : "matchers"
                }
             ],
             "info" : {
@@ -5080,7 +5561,7 @@ const apiSchema = [
                                  "typetext" : "<string>"
                               },
                               "exclude-path" : {
-                                 "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root,  other paths match relative to each subdirectory.",
+                                 "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
                                  "items" : {
                                     "type" : "string"
                                  },
@@ -5088,6 +5569,13 @@ const apiSchema = [
                                  "type" : "array",
                                  "typetext" : "<array>"
                               },
+                              "fleecing" : {
+                                 "description" : "Options for backup fleecing (VM only).",
+                                 "format" : "backup-fleecing",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[[enabled=]<1|0>] [,storage=<storage ID>]"
+                              },
                               "id" : {
                                  "description" : "The job ID.",
                                  "maxLength" : 50,
@@ -5113,7 +5601,7 @@ const apiSchema = [
                               },
                               "mailnotification" : {
                                  "default" : "always",
-                                 "description" : "Deprecated: use 'notification-policy' instead.",
+                                 "description" : "Deprecated: use notification targets/matchers instead. Specify when to send a notification mail",
                                  "enum" : [
                                     "always",
                                     "failure"
@@ -5122,7 +5610,7 @@ const apiSchema = [
                                  "type" : "string"
                               },
                               "mailto" : {
-                                 "description" : "Comma-separated list of email addresses or users that should receive email notifications. Has no effect if the 'notification-target' option  is set at the same time.",
+                                 "description" : "Deprecated: Use notification targets/matchers instead. Comma-separated list of email addresses or users that should receive email notifications.",
                                  "format" : "email-or-username-list",
                                  "optional" : 1,
                                  "type" : "string",
@@ -5161,9 +5649,20 @@ const apiSchema = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "notification-mode" : {
+                                 "default" : "auto",
+                                 "description" : "Determine which notification system to use. If set to 'legacy-sendmail', vzdump will consider the mailto/mailnotification parameters and send emails to the specified address(es) via the 'sendmail' command. If set to 'notification-system', a notification will be sent via PVE's notification system, and the mailto and mailnotification will be ignored. If set to 'auto' (default setting), an email will be sent if mailto is set, and the notification system will be used if not.",
+                                 "enum" : [
+                                    "auto",
+                                    "legacy-sendmail",
+                                    "notification-system"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "notification-policy" : {
                                  "default" : "always",
-                                 "description" : "Specify when to send a notification",
+                                 "description" : "Deprecated: Do not use",
                                  "enum" : [
                                     "always",
                                     "failure",
@@ -5173,7 +5672,7 @@ const apiSchema = [
                                  "type" : "string"
                               },
                               "notification-target" : {
-                                 "description" : "Determine the target to which notifications should be sent. Can either be a notification endpoint or a notification group. This option takes precedence over 'mailto', meaning that if both are  set, the 'mailto' option will be ignored.",
+                                 "description" : "Deprecated: Do not use",
                                  "format" : "pve-configid",
                                  "optional" : 1,
                                  "type" : "string",
@@ -5281,9 +5780,10 @@ const apiSchema = [
                               "storage" : {
                                  "description" : "Store resulting file to this storage.",
                                  "format" : "pve-storage-id",
+                                 "format_description" : "storage ID",
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "<string>"
+                                 "typetext" : "<storage ID>"
                               },
                               "tmpdir" : {
                                  "description" : "Store temporary files to specified directory.",
@@ -5300,7 +5800,7 @@ const apiSchema = [
                               },
                               "zstd" : {
                                  "default" : 1,
-                                 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
+                                 "description" : "Zstd threads. N=0 uses half of the available cores, if N is set to a value bigger than 0, N is used as thread count.",
                                  "optional" : 1,
                                  "type" : "integer",
                                  "typetext" : "<integer>"
@@ -5439,7 +5939,7 @@ const apiSchema = [
                            "typetext" : "<string>"
                         },
                         "exclude-path" : {
-                           "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root,  other paths match relative to each subdirectory.",
+                           "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
                            "items" : {
                               "type" : "string"
                            },
@@ -5447,6 +5947,13 @@ const apiSchema = [
                            "type" : "array",
                            "typetext" : "<array>"
                         },
+                        "fleecing" : {
+                           "description" : "Options for backup fleecing (VM only).",
+                           "format" : "backup-fleecing",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[[enabled=]<1|0>] [,storage=<storage ID>]"
+                        },
                         "id" : {
                            "description" : "Job ID (will be autogenerated).",
                            "format" : "pve-configid",
@@ -5473,7 +5980,7 @@ const apiSchema = [
                         },
                         "mailnotification" : {
                            "default" : "always",
-                           "description" : "Deprecated: use 'notification-policy' instead.",
+                           "description" : "Deprecated: use notification targets/matchers instead. Specify when to send a notification mail",
                            "enum" : [
                               "always",
                               "failure"
@@ -5482,7 +5989,7 @@ const apiSchema = [
                            "type" : "string"
                         },
                         "mailto" : {
-                           "description" : "Comma-separated list of email addresses or users that should receive email notifications. Has no effect if the 'notification-target' option  is set at the same time.",
+                           "description" : "Deprecated: Use notification targets/matchers instead. Comma-separated list of email addresses or users that should receive email notifications.",
                            "format" : "email-or-username-list",
                            "optional" : 1,
                            "type" : "string",
@@ -5521,9 +6028,20 @@ const apiSchema = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "notification-mode" : {
+                           "default" : "auto",
+                           "description" : "Determine which notification system to use. If set to 'legacy-sendmail', vzdump will consider the mailto/mailnotification parameters and send emails to the specified address(es) via the 'sendmail' command. If set to 'notification-system', a notification will be sent via PVE's notification system, and the mailto and mailnotification will be ignored. If set to 'auto' (default setting), an email will be sent if mailto is set, and the notification system will be used if not.",
+                           "enum" : [
+                              "auto",
+                              "legacy-sendmail",
+                              "notification-system"
+                           ],
+                           "optional" : 1,
+                           "type" : "string"
+                        },
                         "notification-policy" : {
                            "default" : "always",
-                           "description" : "Specify when to send a notification",
+                           "description" : "Deprecated: Do not use",
                            "enum" : [
                               "always",
                               "failure",
@@ -5533,7 +6051,7 @@ const apiSchema = [
                            "type" : "string"
                         },
                         "notification-target" : {
-                           "description" : "Determine the target to which notifications should be sent. Can either be a notification endpoint or a notification group. This option takes precedence over 'mailto', meaning that if both are  set, the 'mailto' option will be ignored.",
+                           "description" : "Deprecated: Do not use",
                            "format" : "pve-configid",
                            "optional" : 1,
                            "type" : "string",
@@ -5641,9 +6159,10 @@ const apiSchema = [
                         "storage" : {
                            "description" : "Store resulting file to this storage.",
                            "format" : "pve-storage-id",
+                           "format_description" : "storage ID",
                            "optional" : 1,
                            "type" : "string",
-                           "typetext" : "<string>"
+                           "typetext" : "<storage ID>"
                         },
                         "tmpdir" : {
                            "description" : "Store temporary files to specified directory.",
@@ -5660,7 +6179,7 @@ const apiSchema = [
                         },
                         "zstd" : {
                            "default" : 1,
-                           "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
+                           "description" : "Zstd threads. N=0 uses half of the available cores, if N is set to a value bigger than 0, N is used as thread count.",
                            "optional" : 1,
                            "type" : "integer",
                            "typetext" : "<integer>"
@@ -6745,12 +7264,14 @@ const apiSchema = [
                                           "ad",
                                           "ali",
                                           "anx",
+                                          "artfiles",
                                           "arvan",
                                           "aurora",
                                           "autodns",
                                           "aws",
                                           "azion",
                                           "azure",
+                                          "bookmyname",
                                           "bunny",
                                           "cf",
                                           "clouddns",
@@ -6766,6 +7287,7 @@ const apiSchema = [
                                           "desec",
                                           "df",
                                           "dgon",
+                                          "dnsexit",
                                           "dnshome",
                                           "dnsimple",
                                           "dnsservices",
@@ -6863,6 +7385,7 @@ const apiSchema = [
                                           "servercow",
                                           "simply",
                                           "tele3",
+                                          "tencent",
                                           "transip",
                                           "udr",
                                           "ultra",
@@ -7023,12 +7546,14 @@ const apiSchema = [
                                     "ad",
                                     "ali",
                                     "anx",
+                                    "artfiles",
                                     "arvan",
                                     "aurora",
                                     "autodns",
                                     "aws",
                                     "azion",
                                     "azure",
+                                    "bookmyname",
                                     "bunny",
                                     "cf",
                                     "clouddns",
@@ -7044,6 +7569,7 @@ const apiSchema = [
                                     "desec",
                                     "df",
                                     "dgon",
+                                    "dnsexit",
                                     "dnshome",
                                     "dnsimple",
                                     "dnsservices",
@@ -7141,6 +7667,7 @@ const apiSchema = [
                                     "servercow",
                                     "simply",
                                     "tele3",
+                                    "tencent",
                                     "transip",
                                     "udr",
                                     "ultra",
@@ -7384,6 +7911,20 @@ const apiSchema = [
                                  "pattern" : "^https?://.*",
                                  "type" : "string"
                               },
+                              "eab-hmac-key" : {
+                                 "description" : "HMAC key for External Account Binding.",
+                                 "optional" : 1,
+                                 "requires" : "eab-kid",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "eab-kid" : {
+                                 "description" : "Key Identifier for External Account Binding.",
+                                 "optional" : 1,
+                                 "requires" : "eab-hmac-key",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "name" : {
                                  "default" : "default",
                                  "description" : "ACME account config file name.",
@@ -7415,7 +7956,7 @@ const apiSchema = [
                   "info" : {
                      "GET" : {
                         "allowtoken" : 1,
-                        "description" : "Retrieve ACME TermsOfService URL from CA.",
+                        "description" : "Retrieve ACME TermsOfService URL from CA. Deprecated, please use /cluster/acme/meta.",
                         "method" : "GET",
                         "name" : "get_tos",
                         "parameters" : {
@@ -7444,6 +7985,69 @@ const apiSchema = [
                   "path" : "/cluster/acme/tos",
                   "text" : "tos"
                },
+               {
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 1,
+                        "description" : "Retrieve ACME Directory Meta Information",
+                        "method" : "GET",
+                        "name" : "get_meta",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "directory" : {
+                                 "default" : "https://acme-v02.api.letsencrypt.org/directory",
+                                 "description" : "URL of ACME CA directory endpoint.",
+                                 "optional" : 1,
+                                 "pattern" : "^https?://.*",
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/nodes/{node}",
+                              [
+                                 "Sys.Audit"
+                              ]
+                           ]
+                        },
+                        "returns" : {
+                           "additionalProperties" : 1,
+                           "properties" : {
+                              "caaIdentities" : {
+                                 "description" : "Hostnames referring to the ACME servers.",
+                                 "items" : {
+                                    "type" : "string"
+                                 },
+                                 "optional" : 1,
+                                 "type" : "array"
+                              },
+                              "externalAccountRequired" : {
+                                 "description" : "EAB Required",
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "termsOfService" : {
+                                 "description" : "ACME TermsOfService URL.",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "website" : {
+                                 "description" : "URL to more information about the ACME server.",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              }
+                           },
+                           "type" : "object"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/cluster/acme/meta",
+                  "text" : "meta"
+               },
                {
                   "info" : {
                      "GET" : {
@@ -8749,6 +9353,8 @@ const apiSchema = [
                                        "typetext" : "<array>"
                                     },
                                     "mdev" : {
+                                       "default" : 0,
+                                       "description" : "Marks the device(s) as being capable of providing mediated devices.",
                                        "optional" : 1,
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
@@ -8916,6 +9522,8 @@ const apiSchema = [
                                  "typetext" : "<array>"
                               },
                               "mdev" : {
+                                 "default" : 0,
+                                 "description" : "Marks the device(s) as being capable of providing mediated devices.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -9320,13 +9928,8 @@ const apiSchema = [
                                              }
                                           },
                                           "permissions" : {
-                                             "check" : [
-                                                "perm",
-                                                "/sdn/vnets/{vnet}/subnets",
-                                                [
-                                                   "SDN.Allocate"
-                                                ]
-                                             ]
+                                             "description" : "Require 'SDN.Allocate' permission on '/sdn/zones/<zone>/<vnet>'",
+                                             "user" : "all"
                                           },
                                           "protected" : 1,
                                           "returns" : {
@@ -9368,13 +9971,8 @@ const apiSchema = [
                                              }
                                           },
                                           "permissions" : {
-                                             "check" : [
-                                                "perm",
-                                                "/sdn/vnets/{vnet}/subnets/{subnet}",
-                                                [
-                                                   "SDN.Allocate"
-                                                ]
-                                             ]
+                                             "description" : "Require 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>/<vnet>'",
+                                             "user" : "all"
                                           },
                                           "returns" : {
                                              "type" : "object"
@@ -9396,6 +9994,23 @@ const apiSchema = [
                                                    "type" : "string",
                                                    "typetext" : "<string>"
                                                 },
+                                                "dhcp-dns-server" : {
+                                                   "description" : "IP address for the DNS server",
+                                                   "format" : "ip",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "dhcp-range" : {
+                                                   "description" : "A list of DHCP ranges for this subnet",
+                                                   "items" : {
+                                                      "format" : "pve-sdn-dhcp-range",
+                                                      "type" : "string"
+                                                   },
+                                                   "optional" : 1,
+                                                   "type" : "array",
+                                                   "typetext" : "<array>"
+                                                },
                                                 "digest" : {
                                                    "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
                                                    "maxLength" : 64,
@@ -9439,13 +10054,8 @@ const apiSchema = [
                                              "type" : "object"
                                           },
                                           "permissions" : {
-                                             "check" : [
-                                                "perm",
-                                                "/sdn/vnets/{vnet}/subnets",
-                                                [
-                                                   "SDN.Allocate"
-                                                ]
-                                             ]
+                                             "description" : "Require 'SDN.Allocate' permission on '/sdn/zones/<zone>/<vnet>'",
+                                             "user" : "all"
                                           },
                                           "protected" : 1,
                                           "returns" : {
@@ -9488,7 +10098,7 @@ const apiSchema = [
                                        }
                                     },
                                     "permissions" : {
-                                       "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/subnets/<subnet>'",
+                                       "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>/<vnet>'",
                                        "user" : "all"
                                     },
                                     "returns" : {
@@ -9513,6 +10123,23 @@ const apiSchema = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "dhcp-dns-server" : {
+                                             "description" : "IP address for the DNS server",
+                                             "format" : "ip",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "dhcp-range" : {
+                                             "description" : "A list of DHCP ranges for this subnet",
+                                             "items" : {
+                                                "format" : "pve-sdn-dhcp-range",
+                                                "type" : "string"
+                                             },
+                                             "optional" : 1,
+                                             "type" : "array",
+                                             "typetext" : "<array>"
+                                          },
                                           "dnszoneprefix" : {
                                              "description" : "dns domain zone prefix  ex: 'adm' -> <hostname>.adm.mydomain.com",
                                              "format" : "dns-name",
@@ -9554,10 +10181,174 @@ const apiSchema = [
                                        },
                                        "type" : "object"
                                     },
+                                    "permissions" : {
+                                       "description" : "Require 'SDN.Allocate' permission on '/sdn/zones/<zone>/<vnet>'",
+                                       "user" : "all"
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 }
+                              },
+                              "leaf" : 0,
+                              "path" : "/cluster/sdn/vnets/{vnet}/subnets",
+                              "text" : "subnets"
+                           },
+                           {
+                              "info" : {
+                                 "DELETE" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Delete IP Mappings in a VNet",
+                                    "method" : "DELETE",
+                                    "name" : "ipdelete",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "ip" : {
+                                             "description" : "The IP address to delete",
+                                             "format" : "ip",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "mac" : {
+                                             "description" : "Unicast MAC address.",
+                                             "format" : "mac-addr",
+                                             "format_description" : "XX:XX:XX:XX:XX:XX",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<XX:XX:XX:XX:XX:XX>",
+                                             "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
+                                          },
+                                          "vnet" : {
+                                             "description" : "The SDN vnet object identifier.",
+                                             "format" : "pve-sdn-vnet-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "zone" : {
+                                             "description" : "The SDN zone object identifier.",
+                                             "format" : "pve-sdn-zone-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/sdn/zones/{zone}/{vnet}",
+                                          [
+                                             "SDN.Allocate"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 },
+                                 "POST" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Create IP Mapping in a VNet",
+                                    "method" : "POST",
+                                    "name" : "ipcreate",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "ip" : {
+                                             "description" : "The IP address to associate with the given MAC address",
+                                             "format" : "ip",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "mac" : {
+                                             "description" : "Unicast MAC address.",
+                                             "format" : "mac-addr",
+                                             "format_description" : "XX:XX:XX:XX:XX:XX",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<XX:XX:XX:XX:XX:XX>",
+                                             "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
+                                          },
+                                          "vnet" : {
+                                             "description" : "The SDN vnet object identifier.",
+                                             "format" : "pve-sdn-vnet-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "zone" : {
+                                             "description" : "The SDN zone object identifier.",
+                                             "format" : "pve-sdn-zone-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
                                     "permissions" : {
                                        "check" : [
                                           "perm",
-                                          "/sdn/vnets/{vnet}/subnets",
+                                          "/sdn/zones/{zone}/{vnet}",
+                                          [
+                                             "SDN.Allocate"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 },
+                                 "PUT" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Update IP Mapping in a VNet",
+                                    "method" : "PUT",
+                                    "name" : "ipupdate",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "ip" : {
+                                             "description" : "The IP address to associate with the given MAC address",
+                                             "format" : "ip",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "mac" : {
+                                             "description" : "Unicast MAC address.",
+                                             "format" : "mac-addr",
+                                             "format_description" : "XX:XX:XX:XX:XX:XX",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<XX:XX:XX:XX:XX:XX>",
+                                             "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "maximum" : 999999999,
+                                             "minimum" : 100,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (100 - 999999999)"
+                                          },
+                                          "vnet" : {
+                                             "description" : "The SDN vnet object identifier.",
+                                             "format" : "pve-sdn-vnet-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "zone" : {
+                                             "description" : "The SDN zone object identifier.",
+                                             "format" : "pve-sdn-zone-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/sdn/zones/{zone}/{vnet}",
                                           [
                                              "SDN.Allocate"
                                           ]
@@ -9569,9 +10360,9 @@ const apiSchema = [
                                     }
                                  }
                               },
-                              "leaf" : 0,
-                              "path" : "/cluster/sdn/vnets/{vnet}/subnets",
-                              "text" : "subnets"
+                              "leaf" : 1,
+                              "path" : "/cluster/sdn/vnets/{vnet}/ips",
+                              "text" : "ips"
                            }
                         ],
                         "info" : {
@@ -9592,13 +10383,8 @@ const apiSchema = [
                                  }
                               },
                               "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/sdn/vnets",
-                                    [
-                                       "SDN.Allocate"
-                                    ]
-                                 ]
+                                 "description" : "Require 'SDN.Allocate' permission on '/sdn/zones/<zone>/<vnet>'",
+                                 "user" : "all"
                               },
                               "protected" : 1,
                               "returns" : {
@@ -9634,13 +10420,8 @@ const apiSchema = [
                                  }
                               },
                               "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/sdn/vnets/{vnet}",
-                                    [
-                                       "SDN.Allocate"
-                                    ]
-                                 ]
+                                 "description" : "Require 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>/<vnet>'",
+                                 "user" : "all"
                               },
                               "returns" : {
                                  "type" : "object"
@@ -9704,13 +10485,8 @@ const apiSchema = [
                                  "type" : "object"
                               },
                               "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/sdn/vnets",
-                                    [
-                                       "SDN.Allocate"
-                                    ]
-                                 ]
+                                 "description" : "Require 'SDN.Allocate' permission on '/sdn/zones/<zone>/<vnet>'",
+                                 "user" : "all"
                               },
                               "protected" : 1,
                               "returns" : {
@@ -9747,7 +10523,7 @@ const apiSchema = [
                            }
                         },
                         "permissions" : {
-                           "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/vnets/<vnet>'",
+                           "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>/<vnet>'",
                            "user" : "all"
                         },
                         "returns" : {
@@ -9817,7 +10593,7 @@ const apiSchema = [
                         "permissions" : {
                            "check" : [
                               "perm",
-                              "/sdn/vnets",
+                              "/sdn/zones/{zone}",
                               [
                                  "SDN.Allocate"
                               ]
@@ -9856,7 +10632,7 @@ const apiSchema = [
                               "permissions" : {
                                  "check" : [
                                     "perm",
-                                    "/sdn/zones",
+                                    "/sdn/zones/{zone}",
                                     [
                                        "SDN.Allocate"
                                     ]
@@ -9947,6 +10723,14 @@ const apiSchema = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "dhcp" : {
+                                       "description" : "Type of the DHCP backend for this zone",
+                                       "enum" : [
+                                          "dnsmasq"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "digest" : {
                                        "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
                                        "maxLength" : 64,
@@ -10087,7 +10871,7 @@ const apiSchema = [
                               "permissions" : {
                                  "check" : [
                                     "perm",
-                                    "/sdn/zones",
+                                    "/sdn/zones/{zone}",
                                     [
                                        "SDN.Allocate"
                                     ]
@@ -10147,6 +10931,10 @@ const apiSchema = [
                         "returns" : {
                            "items" : {
                               "properties" : {
+                                 "dhcp" : {
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
                                  "dns" : {
                                     "optional" : 1,
                                     "type" : "string"
@@ -10168,7 +10956,8 @@ const apiSchema = [
                                     "type" : "string"
                                  },
                                  "pending" : {
-                                    "optional" : 1
+                                    "optional" : 1,
+                                    "type" : "boolean"
                                  },
                                  "reversedns" : {
                                     "optional" : 1,
@@ -10227,6 +11016,14 @@ const apiSchema = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "dhcp" : {
+                                 "description" : "Type of the DHCP backend for this zone",
+                                 "enum" : [
+                                    "dnsmasq"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "disable-arp-nd-suppression" : {
                                  "description" : "Disable ipv4 arp && ipv6 neighbour discovery suppression",
                                  "optional" : 1,
@@ -10517,6 +11314,26 @@ const apiSchema = [
                                        "type" : "integer",
                                        "typetext" : "<integer>"
                                     },
+                                    "isis-domain" : {
+                                       "description" : "ISIS domain.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "isis-ifaces" : {
+                                       "description" : "ISIS interface.",
+                                       "format" : "pve-iface-list",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "isis-net" : {
+                                       "description" : "ISIS network entity title.",
+                                       "format" : "pve-sdn-isis-net",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "loopback" : {
                                        "description" : "source loopback interface.",
                                        "optional" : 1,
@@ -10586,7 +11403,8 @@ const apiSchema = [
                                  "enum" : [
                                     "bgp",
                                     "evpn",
-                                    "faucet"
+                                    "faucet",
+                                    "isis"
                                  ],
                                  "optional" : 1,
                                  "type" : "string"
@@ -10604,7 +11422,8 @@ const apiSchema = [
                                     "type" : "string"
                                  },
                                  "pending" : {
-                                    "optional" : 1
+                                    "optional" : 1,
+                                    "type" : "boolean"
                                  },
                                  "state" : {
                                     "optional" : 1,
@@ -10663,6 +11482,26 @@ const apiSchema = [
                                  "type" : "integer",
                                  "typetext" : "<integer>"
                               },
+                              "isis-domain" : {
+                                 "description" : "ISIS domain.",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "isis-ifaces" : {
+                                 "description" : "ISIS interface.",
+                                 "format" : "pve-iface-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "isis-net" : {
+                                 "description" : "ISIS network entity title.",
+                                 "format" : "pve-sdn-isis-net",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "loopback" : {
                                  "description" : "source loopback interface.",
                                  "optional" : 1,
@@ -10688,7 +11527,8 @@ const apiSchema = [
                                  "enum" : [
                                     "bgp",
                                     "evpn",
-                                    "faucet"
+                                    "faucet",
+                                    "isis"
                                  ],
                                  "format" : "pve-configid",
                                  "type" : "string"
@@ -10718,6 +11558,40 @@ const apiSchema = [
                {
                   "children" : [
                      {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "List PVE IPAM Entries",
+                                    "method" : "GET",
+                                    "name" : "ipamindex",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "ipam" : {
+                                             "description" : "The SDN ipam object identifier.",
+                                             "format" : "pve-sdn-ipam-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>/<vnet>'",
+                                       "user" : "all"
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "type" : "array"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/cluster/sdn/ipams/{ipam}/status",
+                              "text" : "status"
+                           }
+                        ],
                         "info" : {
                            "DELETE" : {
                               "allowtoken" : 1,
@@ -10840,7 +11714,7 @@ const apiSchema = [
                               }
                            }
                         },
-                        "leaf" : 1,
+                        "leaf" : 0,
                         "path" : "/cluster/sdn/ipams/{ipam}",
                         "text" : "{ipam}"
                      }
@@ -11213,7 +12087,7 @@ const apiSchema = [
                   "permissions" : {
                      "check" : [
                         "perm",
-                        "/",
+                        "/sdn",
                         [
                            "SDN.Audit"
                         ]
@@ -11421,6 +12295,7 @@ const apiSchema = [
                            "storage" : {
                               "description" : "The storage identifier (when type == storage).",
                               "format" : "pve-storage-id",
+                              "format_description" : "storage ID",
                               "optional" : 1,
                               "type" : "string"
                            },
@@ -11696,6 +12571,7 @@ const apiSchema = [
                         "language" : {
                            "description" : "Default GUI language.",
                            "enum" : [
+                              "ar",
                               "ca",
                               "da",
                               "de",
@@ -11704,10 +12580,14 @@ const apiSchema = [
                               "eu",
                               "fa",
                               "fr",
+                              "hr",
                               "he",
                               "it",
                               "ja",
+                              "ka",
+                              "kr",
                               "nb",
+                              "nl",
                               "nn",
                               "pl",
                               "pt_BR",
@@ -11715,6 +12595,7 @@ const apiSchema = [
                               "sl",
                               "sv",
                               "tr",
+                              "ukr",
                               "zh_CN",
                               "zh_TW"
                            ],
@@ -11722,11 +12603,13 @@ const apiSchema = [
                            "type" : "string"
                         },
                         "mac_prefix" : {
-                           "description" : "Prefix for autogenerated MAC addresses.",
+                           "default" : "BC:24:11",
+                           "description" : "Prefix for the auto-generated MAC addresses of virtual guests. The default 'BC:24:11' is the OUI assigned by the IEEE to Proxmox Server Solutions GmbH for a 24-bit large MAC block. You're allowed to use this in local networks, i.e., those not directly reachable by the public (e.g., in a LAN or behind NAT).",
                            "format" : "mac-prefix",
                            "optional" : 1,
                            "type" : "string",
-                           "typetext" : "<string>"
+                           "typetext" : "<string>",
+                           "verbose_description" : "Prefix for the auto-generated MAC addresses of virtual guests. The default `BC:24:11` is the Organizationally Unique Identifier (OUI) assigned by the IEEE to Proxmox Server Solutions GmbH for a MAC Address Block Large (MA-L). You're allowed to use this in local networks, i.e., those not directly reachable by the public (e.g., in a LAN or NAT/Masquerading).\n \nNote that when you run multiple cluster that (partially) share the networks of their virtual guests, it's highly recommended that you extend the default MAC prefix, or generate a custom (valid) one, to reduce the chance of MAC collisions. For example, add a separate extra hexadecimal to the Proxmox OUI for each cluster, like `BC:24:11:0` for the first, `BC:24:11:1` for the second, and so on.\n Alternatively, you can also separate the networks of the guests logically, e.g., by using VLANs.\n\nFor publicly accessible guests it's recommended that you get your own https://standards.ieee.org/products-programs/regauth/[OUI from the IEEE] registered or coordinate with your, or your hosting providers, network admins."
                         },
                         "max_workers" : {
                            "description" : "Defines how many workers (per node) are maximal started  on actions like 'stopall VMs' or task from the ha-manager.",
@@ -11794,19 +12677,17 @@ const apiSchema = [
                            "description" : "Cluster-wide notification settings.",
                            "format" : {
                               "fencing" : {
-                                 "default" : "always",
-                                 "description" : "Control if notifications about node fencing should be sent.",
+                                 "description" : "UNUSED - Use datacenter notification settings instead.",
                                  "enum" : [
                                     "always",
                                     "never"
                                  ],
                                  "optional" : 1,
-                                 "type" : "string",
-                                 "verbose_description" : "Control if notifications about node fencing should be sent.\n* 'always' always send out notifications\n* 'never' never send out notifications.\nFor production systems, turning off node fencing notifications is notrecommended!\n"
+                                 "type" : "string"
                               },
                               "package-updates" : {
                                  "default" : "auto",
-                                 "description" : "Control when the daily update job should send out notifications.",
+                                 "description" : "DEPRECATED: Use datacenter notification settings instead. Control when the daily update job should send out notifications.",
                                  "enum" : [
                                     "auto",
                                     "always",
@@ -11814,39 +12695,34 @@ const apiSchema = [
                                  ],
                                  "optional" : 1,
                                  "type" : "string",
-                                 "verbose_description" : "Control how often the daily update job should send out notifications:\n* 'auto' daily for systems with a valid subscription, as those are assumed to be  production-ready and thus should know about pending updates.\n* 'always' every update, if there are new pending updates.\n* 'never' never send a notification for new pending updates.\n"
+                                 "verbose_description" : "DEPRECATED: Use datacenter notification settings instead.\nControl how often the daily update job should send out notifications:\n* 'auto' daily for systems with a valid subscription, as those are assumed to be  production-ready and thus should know about pending updates.\n* 'always' every update, if there are new pending updates.\n* 'never' never send a notification for new pending updates.\n"
                               },
                               "replication" : {
-                                 "default" : "always",
-                                 "description" : "Control if notifications for replication failures should be sent.",
+                                 "description" : "UNUSED - Use datacenter notification settings instead.",
                                  "enum" : [
                                     "always",
                                     "never"
                                  ],
                                  "optional" : 1,
-                                 "type" : "string",
-                                 "verbose_description" : "Control if notifications for replication failures should be sent.\n* 'always' always send out notifications\n* 'never' never send out notifications.\nFor production systems, turning off replication notifications is notrecommended!\n"
+                                 "type" : "string"
                               },
                               "target-fencing" : {
-                                 "description" : "Control where notifications about fenced cluster nodes should be sent to.",
+                                 "description" : "UNUSED - Use datacenter notification settings instead.",
                                  "format_description" : "TARGET",
                                  "optional" : 1,
-                                 "type" : "string",
-                                 "verbose_description" : "Control where notifications about fenced cluster nodes should be sent to. Has to be the name of a notification target (endpoint or notification group). If the 'target-fencing' parameter is not set, the system will send mails to root via a 'sendmail' notification endpoint."
+                                 "type" : "string"
                               },
                               "target-package-updates" : {
-                                 "description" : "Control where notifications about available updates should be sent to.",
+                                 "description" : "UNUSED - Use datacenter notification settings instead.",
                                  "format_description" : "TARGET",
                                  "optional" : 1,
-                                 "type" : "string",
-                                 "verbose_description" : "Control where notifications about available updates should be sent to. Has to be the name of a notification target (endpoint or notification group). If the 'target-package-updates' parameter is not set, the system will send mails to root via a 'sendmail' notification endpoint."
+                                 "type" : "string"
                               },
                               "target-replication" : {
-                                 "description" : "Control where notifications for failed storage replication jobs should be sent to.",
+                                 "description" : "UNUSED - Use datacenter notification settings instead.",
                                  "format_description" : "TARGET",
                                  "optional" : 1,
-                                 "type" : "string",
-                                 "verbose_description" : "Control where notifications for failed storage replication jobs should be sent to. Has to be the name of a notification target (endpoint or notification group). If the 'target-replication' parameter is not set, the system will send mails to root via a 'sendmail' notification endpoint."
+                                 "type" : "string"
                               }
                            },
                            "optional" : 1,
@@ -11937,7 +12813,7 @@ const apiSchema = [
                                  ],
                                  "optional" : 1,
                                  "type" : "string",
-                                 "verbose_description" : "Controls which tags can be set or deleted on resources a user controls (such as guests). Users with the `Sys.Modify` privilege on `/` are always  unrestricted. * 'none' no tags are usable. * 'list' tags from 'user-allow-list' are usable. * 'existing' like list, but already existing tags of resources are also usable.* 'free' no tag restrictions."
+                                 "verbose_description" : "Controls which tags can be set or deleted on resources a user controls (such as guests). Users with the `Sys.Modify` privilege on `/` are alwaysunrestricted.\n* 'none' no tags are usable.\n* 'list' tags from 'user-allow-list' are usable.\n* 'existing' like list, but already existing tags of resources are also usable.\n* 'free' no tag restrictions.\n"
                               },
                               "user-allow-list" : {
                                  "description" : "List of tags users are allowed to set and delete (semicolon separated) for 'user-allow' values 'list' and 'existing'.",
@@ -15860,7 +16736,7 @@ const apiSchema = [
                                              "format" : {
                                                 "efitype" : {
                                                    "default" : "2m",
-                                                   "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarc64 (ARM).",
+                                                   "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarch64 (ARM).",
                                                    "enum" : [
                                                       "2m",
                                                       "4m"
@@ -16361,18 +17237,43 @@ const apiSchema = [
                                              "type" : "string"
                                           },
                                           "machine" : {
-                                             "description" : "Specifies the QEMU machine type.",
-                                             "maxLength" : 40,
+                                             "description" : "Specify the QEMU machine.",
+                                             "format" : {
+                                                "type" : {
+                                                   "default_key" : 1,
+                                                   "description" : "Specifies the QEMU machine type.",
+                                                   "format_description" : "machine type",
+                                                   "maxLength" : 40,
+                                                   "optional" : 1,
+                                                   "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
+                                                   "type" : "string"
+                                                },
+                                                "viommu" : {
+                                                   "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).",
+                                                   "enum" : [
+                                                      "intel",
+                                                      "virtio"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                }
+                                             },
                                              "optional" : 1,
-                                             "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
                                              "type" : "string"
                                           },
                                           "memory" : {
-                                             "default" : 512,
-                                             "description" : "Amount of RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
-                                             "minimum" : 16,
+                                             "description" : "Memory properties.",
+                                             "format" : {
+                                                "current" : {
+                                                   "default" : 512,
+                                                   "default_key" : 1,
+                                                   "description" : "Current amount of online RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
+                                                   "minimum" : 16,
+                                                   "type" : "integer"
+                                                }
+                                             },
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "string"
                                           },
                                           "migrate_downtime" : {
                                              "default" : 0.1,
@@ -16609,7 +17510,7 @@ const apiSchema = [
                                              ],
                                              "optional" : 1,
                                              "type" : "string",
-                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022/2025\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
                                              "description" : "Map host parallel devices (n is 0 to 2).",
@@ -17210,6 +18111,13 @@ const apiSchema = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "product" : {
+                                                   "description" : "The drive's product name, up to 16 bytes long.",
+                                                   "format_description" : "product",
+                                                   "optional" : 1,
+                                                   "pattern" : "[A-Za-z0-9\\-_\\s]{,16}",
+                                                   "type" : "string"
+                                                },
                                                 "queues" : {
                                                    "description" : "Number of queues.",
                                                    "minimum" : 2,
@@ -17290,6 +18198,13 @@ const apiSchema = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "vendor" : {
+                                                   "description" : "The drive's vendor name, up to 8 bytes long.",
+                                                   "format_description" : "vendor",
+                                                   "optional" : 1,
+                                                   "pattern" : "[A-Za-z0-9\\-_\\s]{,8}",
+                                                   "type" : "string"
+                                                },
                                                 "volume" : {
                                                    "alias" : "file"
                                                 },
@@ -17529,6 +18444,14 @@ const apiSchema = [
                                           "vga" : {
                                              "description" : "Configure the VGA hardware.",
                                              "format" : {
+                                                "clipboard" : {
+                                                   "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Migration with VNC clipboard is not yet supported!",
+                                                   "enum" : [
+                                                      "vnc"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "memory" : {
                                                    "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
                                                    "maximum" : 512,
@@ -17891,6 +18814,7 @@ const apiSchema = [
                                           "vmstatestorage" : {
                                              "description" : "Default storage for VM state volumes/files.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "optional" : 1,
                                              "type" : "string"
                                           },
@@ -18156,7 +19080,7 @@ const apiSchema = [
                                              "format" : {
                                                 "efitype" : {
                                                    "default" : "2m",
-                                                   "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarc64 (ARM).",
+                                                   "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarch64 (ARM).",
                                                    "enum" : [
                                                       "2m",
                                                       "4m"
@@ -18689,19 +19613,45 @@ const apiSchema = [
                                              "type" : "string"
                                           },
                                           "machine" : {
-                                             "description" : "Specifies the QEMU machine type.",
-                                             "maxLength" : 40,
+                                             "description" : "Specify the QEMU machine.",
+                                             "format" : {
+                                                "type" : {
+                                                   "default_key" : 1,
+                                                   "description" : "Specifies the QEMU machine type.",
+                                                   "format_description" : "machine type",
+                                                   "maxLength" : 40,
+                                                   "optional" : 1,
+                                                   "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
+                                                   "type" : "string"
+                                                },
+                                                "viommu" : {
+                                                   "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).",
+                                                   "enum" : [
+                                                      "intel",
+                                                      "virtio"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                }
+                                             },
                                              "optional" : 1,
-                                             "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[[type=]<machine type>] [,viommu=<intel|virtio>]"
                                           },
                                           "memory" : {
-                                             "default" : 512,
-                                             "description" : "Amount of RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
-                                             "minimum" : 16,
+                                             "description" : "Memory properties.",
+                                             "format" : {
+                                                "current" : {
+                                                   "default" : 512,
+                                                   "default_key" : 1,
+                                                   "description" : "Current amount of online RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
+                                                   "minimum" : 16,
+                                                   "type" : "integer"
+                                                }
+                                             },
                                              "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (16 - N)"
+                                             "type" : "string",
+                                             "typetext" : "[current=]<integer>"
                                           },
                                           "migrate_downtime" : {
                                              "default" : 0.1,
@@ -18952,7 +19902,7 @@ const apiSchema = [
                                              ],
                                              "optional" : 1,
                                              "type" : "string",
-                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022/2025\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
                                              "description" : "Map host parallel devices (n is 0 to 2).",
@@ -19578,6 +20528,13 @@ const apiSchema = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "product" : {
+                                                   "description" : "The drive's product name, up to 16 bytes long.",
+                                                   "format_description" : "product",
+                                                   "optional" : 1,
+                                                   "pattern" : "[A-Za-z0-9\\-_\\s]{,16}",
+                                                   "type" : "string"
+                                                },
                                                 "queues" : {
                                                    "description" : "Number of queues.",
                                                    "minimum" : 2,
@@ -19658,6 +20615,13 @@ const apiSchema = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "vendor" : {
+                                                   "description" : "The drive's vendor name, up to 8 bytes long.",
+                                                   "format_description" : "vendor",
+                                                   "optional" : 1,
+                                                   "pattern" : "[A-Za-z0-9\\-_\\s]{,8}",
+                                                   "type" : "string"
+                                                },
                                                 "volume" : {
                                                    "alias" : "file"
                                                 },
@@ -19682,7 +20646,7 @@ const apiSchema = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,product=<product>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,vendor=<vendor>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "scsihw" : {
                                              "default" : "lsi",
@@ -19926,6 +20890,14 @@ const apiSchema = [
                                           "vga" : {
                                              "description" : "Configure the VGA hardware.",
                                              "format" : {
+                                                "clipboard" : {
+                                                   "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Migration with VNC clipboard is not yet supported!",
+                                                   "enum" : [
+                                                      "vnc"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "memory" : {
                                                    "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
                                                    "maximum" : 512,
@@ -19959,7 +20931,7 @@ const apiSchema = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[[type=]<enum>] [,memory=<integer>]",
+                                             "typetext" : "[[type=]<enum>] [,clipboard=<vnc>] [,memory=<integer>]",
                                              "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
                                           },
                                           "virtio[n]" : {
@@ -20305,9 +21277,10 @@ const apiSchema = [
                                           "vmstatestorage" : {
                                              "description" : "Default storage for VM state volumes/files.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "watchdog" : {
                                              "description" : "Create a virtual hardware watchdog device.",
@@ -20587,7 +21560,7 @@ const apiSchema = [
                                              "format" : {
                                                 "efitype" : {
                                                    "default" : "2m",
-                                                   "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarc64 (ARM).",
+                                                   "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarch64 (ARM).",
                                                    "enum" : [
                                                       "2m",
                                                       "4m"
@@ -21120,19 +22093,45 @@ const apiSchema = [
                                              "type" : "string"
                                           },
                                           "machine" : {
-                                             "description" : "Specifies the QEMU machine type.",
-                                             "maxLength" : 40,
+                                             "description" : "Specify the QEMU machine.",
+                                             "format" : {
+                                                "type" : {
+                                                   "default_key" : 1,
+                                                   "description" : "Specifies the QEMU machine type.",
+                                                   "format_description" : "machine type",
+                                                   "maxLength" : 40,
+                                                   "optional" : 1,
+                                                   "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
+                                                   "type" : "string"
+                                                },
+                                                "viommu" : {
+                                                   "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).",
+                                                   "enum" : [
+                                                      "intel",
+                                                      "virtio"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                }
+                                             },
                                              "optional" : 1,
-                                             "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[[type=]<machine type>] [,viommu=<intel|virtio>]"
                                           },
                                           "memory" : {
-                                             "default" : 512,
-                                             "description" : "Amount of RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
-                                             "minimum" : 16,
+                                             "description" : "Memory properties.",
+                                             "format" : {
+                                                "current" : {
+                                                   "default" : 512,
+                                                   "default_key" : 1,
+                                                   "description" : "Current amount of online RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
+                                                   "minimum" : 16,
+                                                   "type" : "integer"
+                                                }
+                                             },
                                              "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (16 - N)"
+                                             "type" : "string",
+                                             "typetext" : "[current=]<integer>"
                                           },
                                           "migrate_downtime" : {
                                              "default" : 0.1,
@@ -21383,7 +22382,7 @@ const apiSchema = [
                                              ],
                                              "optional" : 1,
                                              "type" : "string",
-                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022/2025\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
                                              "description" : "Map host parallel devices (n is 0 to 2).",
@@ -22009,6 +23008,13 @@ const apiSchema = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "product" : {
+                                                   "description" : "The drive's product name, up to 16 bytes long.",
+                                                   "format_description" : "product",
+                                                   "optional" : 1,
+                                                   "pattern" : "[A-Za-z0-9\\-_\\s]{,16}",
+                                                   "type" : "string"
+                                                },
                                                 "queues" : {
                                                    "description" : "Number of queues.",
                                                    "minimum" : 2,
@@ -22089,6 +23095,13 @@ const apiSchema = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "vendor" : {
+                                                   "description" : "The drive's vendor name, up to 8 bytes long.",
+                                                   "format_description" : "vendor",
+                                                   "optional" : 1,
+                                                   "pattern" : "[A-Za-z0-9\\-_\\s]{,8}",
+                                                   "type" : "string"
+                                                },
                                                 "volume" : {
                                                    "alias" : "file"
                                                 },
@@ -22113,7 +23126,7 @@ const apiSchema = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,product=<product>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,vendor=<vendor>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "scsihw" : {
                                              "default" : "lsi",
@@ -22357,6 +23370,14 @@ const apiSchema = [
                                           "vga" : {
                                              "description" : "Configure the VGA hardware.",
                                              "format" : {
+                                                "clipboard" : {
+                                                   "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Migration with VNC clipboard is not yet supported!",
+                                                   "enum" : [
+                                                      "vnc"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "memory" : {
                                                    "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
                                                    "maximum" : 512,
@@ -22390,7 +23411,7 @@ const apiSchema = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[[type=]<enum>] [,memory=<integer>]",
+                                             "typetext" : "[[type=]<enum>] [,clipboard=<vnc>] [,memory=<integer>]",
                                              "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
                                           },
                                           "virtio[n]" : {
@@ -22736,9 +23757,10 @@ const apiSchema = [
                                           "vmstatestorage" : {
                                              "description" : "Default storage for VM state volumes/files.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "watchdog" : {
                                              "description" : "Create a virtual hardware watchdog device.",
@@ -23106,7 +24128,7 @@ const apiSchema = [
                                              "typetext" : "<integer> (100 - 999999999)"
                                           },
                                           "websocket" : {
-                                             "description" : "starts websockify instead of vncproxy",
+                                             "description" : "Prepare for websocket upgrade (only required when using serial terminal, otherwise upgrade is always possible).",
                                              "optional" : 1,
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
@@ -23404,6 +24426,14 @@ const apiSchema = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "clipboard" : {
+                                                   "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added.",
+                                                   "enum" : [
+                                                      "vnc"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "cpus" : {
                                                    "description" : "Maximum usable CPUs.",
                                                    "optional" : 1,
@@ -23512,11 +24542,30 @@ const apiSchema = [
                                                    "typetext" : "<string>"
                                                 },
                                                 "machine" : {
-                                                   "description" : "Specifies the QEMU machine type.",
-                                                   "maxLength" : 40,
+                                                   "description" : "Specify the QEMU machine.",
+                                                   "format" : {
+                                                      "type" : {
+                                                         "default_key" : 1,
+                                                         "description" : "Specifies the QEMU machine type.",
+                                                         "format_description" : "machine type",
+                                                         "maxLength" : 40,
+                                                         "optional" : 1,
+                                                         "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
+                                                         "type" : "string"
+                                                      },
+                                                      "viommu" : {
+                                                         "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).",
+                                                         "enum" : [
+                                                            "intel",
+                                                            "virtio"
+                                                         ],
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      }
+                                                   },
                                                    "optional" : 1,
-                                                   "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "[[type=]<machine type>] [,viommu=<intel|virtio>]"
                                                 },
                                                 "migratedfrom" : {
                                                    "description" : "The cluster node name.",
@@ -23609,7 +24658,7 @@ const apiSchema = [
                                     "info" : {
                                        "POST" : {
                                           "allowtoken" : 1,
-                                          "description" : "Stop virtual machine. The qemu process will exit immediately. Thisis akin to pulling the power plug of a running computer and may damage the VM data",
+                                          "description" : "Stop virtual machine. The qemu process will exit immediately. This is akin to pulling the power plug of a running computer and may damage the VM data.",
                                           "method" : "POST",
                                           "name" : "vm_stop",
                                           "parameters" : {
@@ -23635,6 +24684,13 @@ const apiSchema = [
                                                    "type" : "string",
                                                    "typetext" : "<string>"
                                                 },
+                                                "overrule-shutdown" : {
+                                                   "default" : 0,
+                                                   "description" : "Try to abort active 'qmshutdown' tasks before stopping.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
                                                 "skiplock" : {
                                                    "description" : "Ignore locks - only root is allowed to use this option.",
                                                    "optional" : 1,
@@ -23734,7 +24790,7 @@ const apiSchema = [
                                     "info" : {
                                        "POST" : {
                                           "allowtoken" : 1,
-                                          "description" : "Shutdown virtual machine. This is similar to pressing the power button on a physical machine.This will send an ACPI event for the guest OS, which should then proceed to a clean shutdown.",
+                                          "description" : "Shutdown virtual machine. This is similar to pressing the power button on a physical machine. This will send an ACPI event for the guest OS, which should then proceed to a clean shutdown.",
                                           "method" : "POST",
                                           "name" : "vm_shutdown",
                                           "parameters" : {
@@ -23881,10 +24937,11 @@ const apiSchema = [
                                                 "statestorage" : {
                                                    "description" : "The storage for the VM state",
                                                    "format" : "pve-storage-id",
+                                                   "format_description" : "storage ID",
                                                    "optional" : 1,
                                                    "requires" : "todisk",
                                                    "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "typetext" : "<storage ID>"
                                                 },
                                                 "todisk" : {
                                                    "default" : 0,
@@ -24244,9 +25301,10 @@ const apiSchema = [
                                           "storage" : {
                                              "description" : "Target storage for full clone.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "target" : {
                                              "description" : "Target node. Only allowed if the original VM is on shared storage.",
@@ -24680,9 +25738,10 @@ const apiSchema = [
                                           "storage" : {
                                              "description" : "Target storage.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "target-digest" : {
                                              "description" : "Prevent changes if the current config file of the target VM has a\"\n\t\t    .\" different SHA1 digest. This can be used to detect concurrent modifications.",
@@ -25276,7 +26335,7 @@ const apiSchema = [
                                              "description" : "Remote target endpoint",
                                              "format" : "proxmox-remote",
                                              "type" : "string",
-                                             "typetext" : "apitoken=<A full Proxmox API token including the secret value.> ,host=<Remote Proxmox hostname or IP> [,fingerprint=<Remote host's certificate fingerprint, if not trusted by system store.>] [,port=<integer>]"
+                                             "typetext" : "apitoken=<PVEAPIToken=user@realm!token=SECRET> ,host=<ADDRESS> [,fingerprint=<FINGERPRINT>] [,port=<PORT>]"
                                           },
                                           "target-storage" : {
                                              "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.",
@@ -26658,7 +27717,7 @@ const apiSchema = [
                                  "format" : {
                                     "efitype" : {
                                        "default" : "2m",
-                                       "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarc64 (ARM).",
+                                       "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarch64 (ARM).",
                                        "enum" : [
                                           "2m",
                                           "4m"
@@ -27169,9 +28228,8 @@ const apiSchema = [
                                  "typetext" : "<boolean>"
                               },
                               "live-restore" : {
-                                 "description" : "Start the VM immediately from the backup and restore in background. PBS only.",
+                                 "description" : "Start the VM immediately while importing or restoring in the background.",
                                  "optional" : 1,
-                                 "requires" : "archive",
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
                               },
@@ -27198,19 +28256,45 @@ const apiSchema = [
                                  "type" : "string"
                               },
                               "machine" : {
-                                 "description" : "Specifies the QEMU machine type.",
-                                 "maxLength" : 40,
+                                 "description" : "Specify the QEMU machine.",
+                                 "format" : {
+                                    "type" : {
+                                       "default_key" : 1,
+                                       "description" : "Specifies the QEMU machine type.",
+                                       "format_description" : "machine type",
+                                       "maxLength" : 40,
+                                       "optional" : 1,
+                                       "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
+                                       "type" : "string"
+                                    },
+                                    "viommu" : {
+                                       "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).",
+                                       "enum" : [
+                                          "intel",
+                                          "virtio"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    }
+                                 },
                                  "optional" : 1,
-                                 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "[[type=]<machine type>] [,viommu=<intel|virtio>]"
                               },
                               "memory" : {
-                                 "default" : 512,
-                                 "description" : "Amount of RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
-                                 "minimum" : 16,
+                                 "description" : "Memory properties.",
+                                 "format" : {
+                                    "current" : {
+                                       "default" : 512,
+                                       "default_key" : 1,
+                                       "description" : "Current amount of online RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
+                                       "minimum" : 16,
+                                       "type" : "integer"
+                                    }
+                                 },
                                  "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (16 - N)"
+                                 "type" : "string",
+                                 "typetext" : "[current=]<integer>"
                               },
                               "migrate_downtime" : {
                                  "default" : 0.1,
@@ -27461,7 +28545,7 @@ const apiSchema = [
                                  ],
                                  "optional" : 1,
                                  "type" : "string",
-                                 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+                                 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022/2025\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                               },
                               "parallel[n]" : {
                                  "description" : "Map host parallel devices (n is 0 to 2).",
@@ -28087,6 +29171,13 @@ const apiSchema = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "product" : {
+                                       "description" : "The drive's product name, up to 16 bytes long.",
+                                       "format_description" : "product",
+                                       "optional" : 1,
+                                       "pattern" : "[A-Za-z0-9\\-_\\s]{,16}",
+                                       "type" : "string"
+                                    },
                                     "queues" : {
                                        "description" : "Number of queues.",
                                        "minimum" : 2,
@@ -28167,6 +29258,13 @@ const apiSchema = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "vendor" : {
+                                       "description" : "The drive's vendor name, up to 8 bytes long.",
+                                       "format_description" : "vendor",
+                                       "optional" : 1,
+                                       "pattern" : "[A-Za-z0-9\\-_\\s]{,8}",
+                                       "type" : "string"
+                                    },
                                     "volume" : {
                                        "alias" : "file"
                                     },
@@ -28191,7 +29289,7 @@ const apiSchema = [
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+                                 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,product=<product>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,vendor=<vendor>] [,werror=<enum>] [,wwn=<wwn>]"
                               },
                               "scsihw" : {
                                  "default" : "lsi",
@@ -28310,9 +29408,10 @@ const apiSchema = [
                               "storage" : {
                                  "description" : "Default storage.",
                                  "format" : "pve-storage-id",
+                                 "format_description" : "storage ID",
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "<string>"
+                                 "typetext" : "<storage ID>"
                               },
                               "tablet" : {
                                  "default" : 1,
@@ -28450,6 +29549,14 @@ const apiSchema = [
                               "vga" : {
                                  "description" : "Configure the VGA hardware.",
                                  "format" : {
+                                    "clipboard" : {
+                                       "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Migration with VNC clipboard is not yet supported!",
+                                       "enum" : [
+                                          "vnc"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "memory" : {
                                        "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
                                        "maximum" : 512,
@@ -28483,7 +29590,7 @@ const apiSchema = [
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
+                                 "typetext" : "[[type=]<enum>] [,clipboard=<vnc>] [,memory=<integer>]",
                                  "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
                               },
                               "virtio[n]" : {
@@ -28829,9 +29936,10 @@ const apiSchema = [
                               "vmstatestorage" : {
                                  "description" : "Default storage for VM state volumes/files.",
                                  "format" : "pve-storage-id",
+                                 "format_description" : "storage ID",
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "<string>"
+                                 "typetext" : "<storage ID>"
                               },
                               "watchdog" : {
                                  "description" : "Create a virtual hardware watchdog device.",
@@ -28982,6 +30090,41 @@ const apiSchema = [
                                              "optional" : 1,
                                              "type" : "string"
                                           },
+                                          "dev[n]" : {
+                                             "description" : "Device to pass through to the container",
+                                             "format" : {
+                                                "gid" : {
+                                                   "description" : "Group ID to be assigned to the device node",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "mode" : {
+                                                   "description" : "Access mode to be set on the device node",
+                                                   "format_description" : "Octal access mode",
+                                                   "optional" : 1,
+                                                   "pattern" : "0[0-7]{3}",
+                                                   "type" : "string"
+                                                },
+                                                "path" : {
+                                                   "default_key" : 1,
+                                                   "description" : "Device to pass through to the container",
+                                                   "format" : "pve-lxc-dev-string",
+                                                   "format_description" : "Path",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "verbose_description" : "Path to the device to pass through to the container"
+                                                },
+                                                "uid" : {
+                                                   "description" : "User ID to be assigned to the device node",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "digest" : {
                                              "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
                                              "type" : "string"
@@ -29498,6 +30641,42 @@ const apiSchema = [
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
+                                          "dev[n]" : {
+                                             "description" : "Device to pass through to the container",
+                                             "format" : {
+                                                "gid" : {
+                                                   "description" : "Group ID to be assigned to the device node",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "mode" : {
+                                                   "description" : "Access mode to be set on the device node",
+                                                   "format_description" : "Octal access mode",
+                                                   "optional" : 1,
+                                                   "pattern" : "0[0-7]{3}",
+                                                   "type" : "string"
+                                                },
+                                                "path" : {
+                                                   "default_key" : 1,
+                                                   "description" : "Device to pass through to the container",
+                                                   "format" : "pve-lxc-dev-string",
+                                                   "format_description" : "Path",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "verbose_description" : "Path to the device to pass through to the container"
+                                                },
+                                                "uid" : {
+                                                   "description" : "User ID to be assigned to the device node",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[[path=]<Path>] [,gid=<integer>] [,mode=<Octal access mode>] [,uid=<integer>]"
+                                          },
                                           "digest" : {
                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                              "maxLength" : 40,
@@ -30170,6 +31349,13 @@ const apiSchema = [
                                                    "type" : "string",
                                                    "typetext" : "<string>"
                                                 },
+                                                "overrule-shutdown" : {
+                                                   "default" : 0,
+                                                   "description" : "Try to abort active 'vzshutdown' tasks before stopping.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
                                                 "skiplock" : {
                                                    "description" : "Ignore locks - only root is allowed to use this option.",
                                                    "optional" : 1,
@@ -33234,7 +34420,7 @@ const apiSchema = [
                                              "description" : "Remote target endpoint",
                                              "format" : "proxmox-remote",
                                              "type" : "string",
-                                             "typetext" : "apitoken=<A full Proxmox API token including the secret value.> ,host=<Remote Proxmox hostname or IP> [,fingerprint=<Remote host's certificate fingerprint, if not trusted by system store.>] [,port=<integer>]"
+                                             "typetext" : "apitoken=<PVEAPIToken=user@realm!token=SECRET> ,host=<ADDRESS> [,fingerprint=<FINGERPRINT>] [,port=<PORT>]"
                                           },
                                           "target-storage" : {
                                              "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.",
@@ -33561,9 +34747,10 @@ const apiSchema = [
                                           "storage" : {
                                              "description" : "Target storage for full clone.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "target" : {
                                              "description" : "Target node. Only allowed if the original VM is on shared storage.",
@@ -33990,9 +35177,10 @@ const apiSchema = [
                                           "storage" : {
                                              "description" : "Target Storage.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "target-digest" : {
                                              "description" : "Prevent changes if current configuration file of the target \" .\n\t\t    \"container has a different SHA1 digest. This can be used to prevent \" .\n\t\t    \"concurrent modifications.",
@@ -35115,30 +36303,100 @@ const apiSchema = [
                                           ]
                                        ]
                                     },
-                                    "proxyto" : "node",
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "items" : {
+                                          "properties" : {
+                                             "delete" : {
+                                                "description" : "Indicates a pending delete request if present and not 0.",
+                                                "maximum" : 2,
+                                                "minimum" : 0,
+                                                "optional" : 1,
+                                                "type" : "integer"
+                                             },
+                                             "key" : {
+                                                "description" : "Configuration option name.",
+                                                "type" : "string"
+                                             },
+                                             "pending" : {
+                                                "description" : "Pending value.",
+                                                "optional" : 1,
+                                                "type" : "string"
+                                             },
+                                             "value" : {
+                                                "description" : "Current value.",
+                                                "optional" : 1,
+                                                "type" : "string"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/lxc/{vmid}/pending",
+                              "text" : "pending"
+                           },
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Get IP addresses of the specified container interface.",
+                                    "method" : "GET",
+                                    "name" : "ip",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "maximum" : 999999999,
+                                             "minimum" : 100,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (100 - 999999999)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/vms/{vmid}",
+                                          [
+                                             "VM.Audit"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
                                     "returns" : {
                                        "items" : {
                                           "properties" : {
-                                             "delete" : {
-                                                "description" : "Indicates a pending delete request if present and not 0.",
-                                                "maximum" : 2,
-                                                "minimum" : 0,
-                                                "optional" : 1,
-                                                "type" : "integer"
-                                             },
-                                             "key" : {
-                                                "description" : "Configuration option name.",
+                                             "hwaddr" : {
+                                                "description" : "The MAC address of the interface",
+                                                "optional" : 0,
                                                 "type" : "string"
                                              },
-                                             "pending" : {
-                                                "description" : "Pending value.",
+                                             "inet" : {
+                                                "description" : "The IPv4 address of the interface",
                                                 "optional" : 1,
                                                 "type" : "string"
                                              },
-                                             "value" : {
-                                                "description" : "Current value.",
+                                             "inet6" : {
+                                                "description" : "The IPv6 address of the interface",
                                                 "optional" : 1,
                                                 "type" : "string"
+                                             },
+                                             "name" : {
+                                                "description" : "The name of the interface",
+                                                "optional" : 0,
+                                                "type" : "string"
                                              }
                                           },
                                           "type" : "object"
@@ -35148,8 +36406,8 @@ const apiSchema = [
                                  }
                               },
                               "leaf" : 1,
-                              "path" : "/nodes/{node}/lxc/{vmid}/pending",
-                              "text" : "pending"
+                              "path" : "/nodes/{node}/lxc/{vmid}/interfaces",
+                              "text" : "interfaces"
                            },
                            {
                               "info" : {
@@ -35590,6 +36848,42 @@ const apiSchema = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "dev[n]" : {
+                                 "description" : "Device to pass through to the container",
+                                 "format" : {
+                                    "gid" : {
+                                       "description" : "Group ID to be assigned to the device node",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "mode" : {
+                                       "description" : "Access mode to be set on the device node",
+                                       "format_description" : "Octal access mode",
+                                       "optional" : 1,
+                                       "pattern" : "0[0-7]{3}",
+                                       "type" : "string"
+                                    },
+                                    "path" : {
+                                       "default_key" : 1,
+                                       "description" : "Device to pass through to the container",
+                                       "format" : "pve-lxc-dev-string",
+                                       "format_description" : "Path",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "verbose_description" : "Path to the device to pass through to the container"
+                                    },
+                                    "uid" : {
+                                       "description" : "User ID to be assigned to the device node",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    }
+                                 },
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[[path=]<Path>] [,gid=<integer>] [,mode=<Octal access mode>] [,uid=<integer>]"
+                              },
                               "features" : {
                                  "description" : "Allow containers access to advanced features.",
                                  "format" : {
@@ -36018,9 +37312,10 @@ const apiSchema = [
                                  "default" : "local",
                                  "description" : "Default Storage.",
                                  "format" : "pve-storage-id",
+                                 "format_description" : "storage ID",
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "<string>"
+                                 "typetext" : "<storage ID>"
                               },
                               "swap" : {
                                  "default" : 512,
@@ -36221,6 +37516,51 @@ const apiSchema = [
                               "leaf" : 1,
                               "path" : "/nodes/{node}/ceph/cfg/db",
                               "text" : "db"
+                           },
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Get configured values from either the config file or config DB.",
+                                    "method" : "GET",
+                                    "name" : "value",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "config-keys" : {
+                                             "description" : "List of <section>:<config key> items.",
+                                             "pattern" : "(?^:^(:?(?^i:[0-9a-z\\-_\\.]+:[0-9a-zA-Z\\-_]+))(:?[;, ](?^i:[0-9a-z\\-_\\.]+:[0-9a-zA-Z\\-_]+))*$)",
+                                             "type" : "string",
+                                             "typetext" : "<section>:<config key>[;<section>:<config key>]"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Audit"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "description" : "Contains {section}->{key} children with the values",
+                                       "type" : "object"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/ceph/cfg/value",
+                              "text" : "value"
                            }
                         ],
                         "info" : {
@@ -36774,7 +38114,7 @@ const apiSchema = [
                                        "requires" : "db_dev",
                                        "type" : "number",
                                        "typetext" : "<number> (1 - N)",
-                                       "verbose_description" : "If a block.db is requested but the size is not given, will be automatically selected by: bluestore_block_db_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 10% of the size of the OSD device. Fails if the available size is not enough."
+                                       "verbose_description" : "If a block.db is requested but the size is not given, will be automatically selected by: bluestore_block_db_size from the ceph database (osd or global section) or config (osd or global section) in that order. If this is not available, it will be sized 10% of the size of the OSD device. Fails if the available size is not enough."
                                     },
                                     "dev" : {
                                        "description" : "Block device name.",
@@ -36794,6 +38134,13 @@ const apiSchema = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "osds-per-device" : {
+                                       "description" : "OSD services per physical device. Only useful for fast NVMe devices\"\n\t\t    .\" to utilize their performance better.",
+                                       "minimum" : "1",
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - N)"
+                                    },
                                     "wal_dev" : {
                                        "description" : "Block device name for block.wal.",
                                        "optional" : 1,
@@ -36808,7 +38155,7 @@ const apiSchema = [
                                        "requires" : "wal_dev",
                                        "type" : "number",
                                        "typetext" : "<number> (0.5 - N)",
-                                       "verbose_description" : "If a block.wal is requested but the size is not given, will be automatically selected by: bluestore_block_wal_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 1% of the size of the OSD device. Fails if the available size is not enough."
+                                       "verbose_description" : "If a block.wal is requested but the size is not given, will be automatically selected by: bluestore_block_wal_size from the ceph database (osd or global section) or config (osd or global section) in that order. If this is not available, it will be sized 1% of the size of the OSD device. Fails if the available size is not enough."
                                     }
                                  }
                               },
@@ -38221,7 +39568,7 @@ const apiSchema = [
                                     },
                                     "pg_bits" : {
                                        "default" : 6,
-                                       "description" : "Placement group bits, used to specify the default number of placement groups.\n\nNOTE: 'osd pool default pg num' does not work for default pools.",
+                                       "description" : "Placement group bits, used to specify the default number of placement groups.\n\nDepreacted. This setting was deprecated in recent Ceph versions.",
                                        "maximum" : 14,
                                        "minimum" : 6,
                                        "optional" : 1,
@@ -38736,9 +40083,10 @@ const apiSchema = [
                                     "storage" : {
                                        "description" : "The storage identifier.",
                                        "format" : "pve-storage-id",
+                                       "format_description" : "storage ID",
                                        "optional" : 1,
                                        "type" : "string",
-                                       "typetext" : "<string>"
+                                       "typetext" : "<storage ID>"
                                     }
                                  }
                               },
@@ -38788,13 +40136,19 @@ const apiSchema = [
                                        "type" : "string"
                                     },
                                     "exclude-path" : {
-                                       "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root,  other paths match relative to each subdirectory.",
+                                       "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
                                        "items" : {
                                           "type" : "string"
                                        },
                                        "optional" : 1,
                                        "type" : "array"
                                     },
+                                    "fleecing" : {
+                                       "description" : "Options for backup fleecing (VM only).",
+                                       "format" : "backup-fleecing",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "ionice" : {
                                        "default" : 7,
                                        "description" : "Set IO priority when using the BFQ scheduler. For snapshot and suspend mode backups of VMs, this only affects the compressor. A value of 8 means the idle priority is used, otherwise the best-effort priority is used with the specified value.",
@@ -38812,7 +40166,7 @@ const apiSchema = [
                                     },
                                     "mailnotification" : {
                                        "default" : "always",
-                                       "description" : "Deprecated: use 'notification-policy' instead.",
+                                       "description" : "Deprecated: use notification targets/matchers instead. Specify when to send a notification mail",
                                        "enum" : [
                                           "always",
                                           "failure"
@@ -38821,7 +40175,7 @@ const apiSchema = [
                                        "type" : "string"
                                     },
                                     "mailto" : {
-                                       "description" : "Comma-separated list of email addresses or users that should receive email notifications. Has no effect if the 'notification-target' option  is set at the same time.",
+                                       "description" : "Deprecated: Use notification targets/matchers instead. Comma-separated list of email addresses or users that should receive email notifications.",
                                        "format" : "email-or-username-list",
                                        "optional" : 1,
                                        "type" : "string"
@@ -38856,9 +40210,20 @@ const apiSchema = [
                                        "requires" : "storage",
                                        "type" : "string"
                                     },
+                                    "notification-mode" : {
+                                       "default" : "auto",
+                                       "description" : "Determine which notification system to use. If set to 'legacy-sendmail', vzdump will consider the mailto/mailnotification parameters and send emails to the specified address(es) via the 'sendmail' command. If set to 'notification-system', a notification will be sent via PVE's notification system, and the mailto and mailnotification will be ignored. If set to 'auto' (default setting), an email will be sent if mailto is set, and the notification system will be used if not.",
+                                       "enum" : [
+                                          "auto",
+                                          "legacy-sendmail",
+                                          "notification-system"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "notification-policy" : {
                                        "default" : "always",
-                                       "description" : "Specify when to send a notification",
+                                       "description" : "Deprecated: Do not use",
                                        "enum" : [
                                           "always",
                                           "failure",
@@ -38868,7 +40233,7 @@ const apiSchema = [
                                        "type" : "string"
                                     },
                                     "notification-target" : {
-                                       "description" : "Determine the target to which notifications should be sent. Can either be a notification endpoint or a notification group. This option takes precedence over 'mailto', meaning that if both are  set, the 'mailto' option will be ignored.",
+                                       "description" : "Deprecated: Do not use",
                                        "format" : "pve-configid",
                                        "optional" : 1,
                                        "type" : "string"
@@ -38942,6 +40307,7 @@ const apiSchema = [
                                     "storage" : {
                                        "description" : "Store resulting file to this storage.",
                                        "format" : "pve-storage-id",
+                                       "format_description" : "storage ID",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
@@ -38958,7 +40324,7 @@ const apiSchema = [
                                     },
                                     "zstd" : {
                                        "default" : 1,
-                                       "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
+                                       "description" : "Zstd threads. N=0 uses half of the available cores, if N is set to a value bigger than 0, N is used as thread count.",
                                        "optional" : 1,
                                        "type" : "integer"
                                     }
@@ -39061,7 +40427,7 @@ const apiSchema = [
                                  "typetext" : "<string>"
                               },
                               "exclude-path" : {
-                                 "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root,  other paths match relative to each subdirectory.",
+                                 "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
                                  "items" : {
                                     "type" : "string"
                                  },
@@ -39069,6 +40435,13 @@ const apiSchema = [
                                  "type" : "array",
                                  "typetext" : "<array>"
                               },
+                              "fleecing" : {
+                                 "description" : "Options for backup fleecing (VM only).",
+                                 "format" : "backup-fleecing",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[[enabled=]<1|0>] [,storage=<storage ID>]"
+                              },
                               "ionice" : {
                                  "default" : 7,
                                  "description" : "Set IO priority when using the BFQ scheduler. For snapshot and suspend mode backups of VMs, this only affects the compressor. A value of 8 means the idle priority is used, otherwise the best-effort priority is used with the specified value.",
@@ -39088,7 +40461,7 @@ const apiSchema = [
                               },
                               "mailnotification" : {
                                  "default" : "always",
-                                 "description" : "Deprecated: use 'notification-policy' instead.",
+                                 "description" : "Deprecated: use notification targets/matchers instead. Specify when to send a notification mail",
                                  "enum" : [
                                     "always",
                                     "failure"
@@ -39097,7 +40470,7 @@ const apiSchema = [
                                  "type" : "string"
                               },
                               "mailto" : {
-                                 "description" : "Comma-separated list of email addresses or users that should receive email notifications. Has no effect if the 'notification-target' option  is set at the same time.",
+                                 "description" : "Deprecated: Use notification targets/matchers instead. Comma-separated list of email addresses or users that should receive email notifications.",
                                  "format" : "email-or-username-list",
                                  "optional" : 1,
                                  "type" : "string",
@@ -39136,9 +40509,20 @@ const apiSchema = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "notification-mode" : {
+                                 "default" : "auto",
+                                 "description" : "Determine which notification system to use. If set to 'legacy-sendmail', vzdump will consider the mailto/mailnotification parameters and send emails to the specified address(es) via the 'sendmail' command. If set to 'notification-system', a notification will be sent via PVE's notification system, and the mailto and mailnotification will be ignored. If set to 'auto' (default setting), an email will be sent if mailto is set, and the notification system will be used if not.",
+                                 "enum" : [
+                                    "auto",
+                                    "legacy-sendmail",
+                                    "notification-system"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "notification-policy" : {
                                  "default" : "always",
-                                 "description" : "Specify when to send a notification",
+                                 "description" : "Deprecated: Do not use",
                                  "enum" : [
                                     "always",
                                     "failure",
@@ -39148,7 +40532,7 @@ const apiSchema = [
                                  "type" : "string"
                               },
                               "notification-target" : {
-                                 "description" : "Determine the target to which notifications should be sent. Can either be a notification endpoint or a notification group. This option takes precedence over 'mailto', meaning that if both are  set, the 'mailto' option will be ignored.",
+                                 "description" : "Deprecated: Do not use",
                                  "format" : "pve-configid",
                                  "optional" : 1,
                                  "type" : "string",
@@ -39240,9 +40624,10 @@ const apiSchema = [
                               "storage" : {
                                  "description" : "Store resulting file to this storage.",
                                  "format" : "pve-storage-id",
+                                 "format_description" : "storage ID",
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "<string>"
+                                 "typetext" : "<storage ID>"
                               },
                               "tmpdir" : {
                                  "description" : "Store temporary files to specified directory.",
@@ -39259,7 +40644,7 @@ const apiSchema = [
                               },
                               "zstd" : {
                                  "default" : 1,
-                                 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
+                                 "description" : "Zstd threads. N=0 uses half of the available cores, if N is set to a value bigger than 0, N is used as thread count.",
                                  "optional" : 1,
                                  "type" : "integer",
                                  "typetext" : "<integer>"
@@ -39267,7 +40652,7 @@ const apiSchema = [
                            }
                         },
                         "permissions" : {
-                           "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'tmpdir', 'dumpdir' and 'script' parameters are restricted to the 'root@pam' user. The 'maxfiles' and 'prune-backups' settings require 'Datastore.Allocate' on the backup storage. The 'bwlimit', 'performance' and 'ionice' parameters require 'Sys.Modify' on '/'. If 'notification-target' is set, then the 'Mapping.Use' permission is needed on '/mapping/notification/<target>'.",
+                           "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage (and fleecing storage when fleecing is used). The 'tmpdir', 'dumpdir' and 'script' parameters are restricted to the 'root@pam' user. The 'maxfiles' and 'prune-backups' settings require 'Datastore.Allocate' on the backup storage. The 'bwlimit', 'performance' and 'ionice' parameters require 'Sys.Modify' on '/'.",
                            "user" : "all"
                         },
                         "protected" : 1,
@@ -39829,7 +41214,7 @@ const apiSchema = [
                               "key" : {
                                  "description" : "Proxmox VE subscription key",
                                  "maxLength" : 32,
-                                 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
+                                 "pattern" : "\\s*pve([1248])([cbsp])-[0-9a-f]{10}\\s*",
                                  "type" : "string"
                               },
                               "node" : {
@@ -42056,8 +43441,9 @@ const apiSchema = [
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "type" : {
                                              "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
@@ -42113,8 +43499,9 @@ const apiSchema = [
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "type" : {
                                              "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
@@ -42220,9 +43607,10 @@ const apiSchema = [
                                                 "storage" : {
                                                    "description" : "The storage identifier.",
                                                    "format" : "pve-storage-id",
+                                                   "format_description" : "storage ID",
                                                    "optional" : 1,
                                                    "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "typetext" : "<storage ID>"
                                                 },
                                                 "volume" : {
                                                    "description" : "Volume identifier",
@@ -42259,9 +43647,10 @@ const apiSchema = [
                                                 "storage" : {
                                                    "description" : "The storage identifier.",
                                                    "format" : "pve-storage-id",
+                                                   "format_description" : "storage ID",
                                                    "optional" : 1,
                                                    "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "typetext" : "<storage ID>"
                                                 },
                                                 "volume" : {
                                                    "description" : "Volume identifier",
@@ -42327,9 +43716,10 @@ const apiSchema = [
                                                 "storage" : {
                                                    "description" : "The storage identifier.",
                                                    "format" : "pve-storage-id",
+                                                   "format_description" : "storage ID",
                                                    "optional" : 1,
                                                    "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "typetext" : "<storage ID>"
                                                 },
                                                 "target" : {
                                                    "description" : "Target volume identifier",
@@ -42385,9 +43775,10 @@ const apiSchema = [
                                                 "storage" : {
                                                    "description" : "The storage identifier.",
                                                    "format" : "pve-storage-id",
+                                                   "format_description" : "storage ID",
                                                    "optional" : 1,
                                                    "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "typetext" : "<storage ID>"
                                                 },
                                                 "volume" : {
                                                    "description" : "Volume identifier",
@@ -42437,8 +43828,9 @@ const apiSchema = [
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "vmid" : {
                                              "description" : "Only list images for this VM",
@@ -42582,8 +43974,9 @@ const apiSchema = [
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "vmid" : {
                                              "description" : "Specify owner VM",
@@ -42642,8 +44035,9 @@ const apiSchema = [
                                                 "storage" : {
                                                    "description" : "The storage identifier.",
                                                    "format" : "pve-storage-id",
+                                                   "format_description" : "storage ID",
                                                    "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "typetext" : "<storage ID>"
                                                 },
                                                 "volume" : {
                                                    "description" : "Backup volume ID or name. Currently only PBS snapshots are supported.",
@@ -42722,8 +44116,16 @@ const apiSchema = [
                                                 "storage" : {
                                                    "description" : "The storage identifier.",
                                                    "format" : "pve-storage-id",
+                                                   "format_description" : "storage ID",
                                                    "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "typetext" : "<storage ID>"
+                                                },
+                                                "tar" : {
+                                                   "default" : 0,
+                                                   "description" : "Download dirs as 'tar.zst' instead of 'zip'.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "volume" : {
                                                    "description" : "Backup volume ID or name. Currently only PBS snapshots are supported.",
@@ -42771,8 +44173,9 @@ const apiSchema = [
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           }
                                        }
                                     },
@@ -42833,8 +44236,9 @@ const apiSchema = [
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "timeframe" : {
                                              "description" : "Specify the time frame you are interested in.",
@@ -42905,8 +44309,9 @@ const apiSchema = [
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "timeframe" : {
                                              "description" : "Specify the time frame you are interested in.",
@@ -43003,8 +44408,9 @@ const apiSchema = [
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "tmpfilename" : {
                                              "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trusted port on localhost.",
@@ -43095,8 +44501,9 @@ const apiSchema = [
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "url" : {
                                              "description" : "The URL to download the file from.",
@@ -43123,14 +44530,25 @@ const apiSchema = [
                                              ]
                                           ],
                                           [
-                                             "perm",
-                                             "/",
+                                             "or",
                                              [
-                                                "Sys.Audit",
-                                                "Sys.Modify"
+                                                "perm",
+                                                "/",
+                                                [
+                                                   "Sys.Audit",
+                                                   "Sys.Modify"
+                                                ]
+                                             ],
+                                             [
+                                                "perm",
+                                                "/nodes/{node}",
+                                                [
+                                                   "Sys.AccessNetwork"
+                                                ]
                                              ]
                                           ]
-                                       ]
+                                       ],
+                                       "description" : "Requires allocation access on the storage and as this allows one to probe the (local!) host network indirectly it also requires one of Sys.Modify on / (for backwards compatibility) or the newer Sys.AccessNetwork privilege on the node."
                                     },
                                     "protected" : 1,
                                     "proxyto" : "node",
@@ -43142,6 +44560,119 @@ const apiSchema = [
                               "leaf" : 1,
                               "path" : "/nodes/{node}/storage/{storage}/download-url",
                               "text" : "download-url"
+                           },
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Get the base parameters for creating a guest which imports data from a foreign importable guest, like an ESXi VM",
+                                    "method" : "GET",
+                                    "name" : "get_import_metadata",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "storage" : {
+                                             "description" : "The storage identifier.",
+                                             "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
+                                             "type" : "string",
+                                             "typetext" : "<storage ID>"
+                                          },
+                                          "volume" : {
+                                             "description" : "Volume identifier for the guest archive/entry.",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "description" : "You need read access for the volume.",
+                                       "user" : "all"
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "additionalProperties" : 0,
+                                       "description" : "Information about how to import a guest.",
+                                       "properties" : {
+                                          "create-args" : {
+                                             "additionalProperties" : 1,
+                                             "description" : "Parameters which can be used in a call to create a VM or container.",
+                                             "type" : "object"
+                                          },
+                                          "disks" : {
+                                             "additionalProperties" : 1,
+                                             "description" : "Recognised disk volumes as `$bus$id` => `$storeid:$path` map.",
+                                             "optional" : 1,
+                                             "type" : "object"
+                                          },
+                                          "net" : {
+                                             "additionalProperties" : 1,
+                                             "description" : "Recognised network interfaces as `net$id` => { ...params } object.",
+                                             "optional" : 1,
+                                             "type" : "object"
+                                          },
+                                          "source" : {
+                                             "description" : "The type of the import-source of this guest volume.",
+                                             "enum" : [
+                                                "esxi"
+                                             ],
+                                             "type" : "string"
+                                          },
+                                          "type" : {
+                                             "description" : "The type of guest this is going to produce.",
+                                             "enum" : [
+                                                "vm"
+                                             ],
+                                             "type" : "string"
+                                          },
+                                          "warnings" : {
+                                             "description" : "List of known issues that can affect the import of a guest. Note that lack of warning does not imply that there cannot be any problems.",
+                                             "items" : {
+                                                "additionalProperties" : 1,
+                                                "properties" : {
+                                                   "key" : {
+                                                      "description" : "Related subject (config) key of warning.",
+                                                      "optional" : 1,
+                                                      "type" : "string"
+                                                   },
+                                                   "type" : {
+                                                      "description" : "What this warning is about.",
+                                                      "enum" : [
+                                                         "cdrom-image-ignored",
+                                                         "efi-state-lost",
+                                                         "guest-is-running",
+                                                         "nvme-unsupported",
+                                                         "ovmf-with-lsi-unsupported",
+                                                         "serial-port-socket-only"
+                                                      ],
+                                                      "type" : "string"
+                                                   },
+                                                   "value" : {
+                                                      "description" : "Related subject (config) value of warning.",
+                                                      "optional" : 1,
+                                                      "type" : "string"
+                                                   }
+                                                },
+                                                "type" : "object"
+                                             },
+                                             "optional" : 1,
+                                             "type" : "array"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/storage/{storage}/import-metadata",
+                              "text" : "import-metadata"
                            }
                         ],
                         "info" : {
@@ -43162,8 +44693,9 @@ const apiSchema = [
                                     "storage" : {
                                        "description" : "The storage identifier.",
                                        "format" : "pve-storage-id",
+                                       "format_description" : "storage ID",
                                        "type" : "string",
-                                       "typetext" : "<string>"
+                                       "typetext" : "<storage ID>"
                                     }
                                  }
                               },
@@ -43242,9 +44774,10 @@ const apiSchema = [
                               "storage" : {
                                  "description" : "Only list status for  specified storage",
                                  "format" : "pve-storage-id",
+                                 "format_description" : "storage ID",
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "<string>"
+                                 "typetext" : "<storage ID>"
                               },
                               "target" : {
                                  "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
@@ -43293,6 +44826,7 @@ const apiSchema = [
                                  "storage" : {
                                     "description" : "The storage identifier.",
                                     "format" : "pve-storage-id",
+                                    "format_description" : "storage ID",
                                     "type" : "string"
                                  },
                                  "total" : {
@@ -43365,8 +44899,9 @@ const apiSchema = [
                                           "name" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
@@ -43506,8 +45041,9 @@ const apiSchema = [
                                     "name" : {
                                        "description" : "The storage identifier.",
                                        "format" : "pve-storage-id",
+                                       "format_description" : "storage ID",
                                        "type" : "string",
-                                       "typetext" : "<string>"
+                                       "typetext" : "<storage ID>"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
@@ -43567,8 +45103,9 @@ const apiSchema = [
                                           "name" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
@@ -43579,8 +45116,9 @@ const apiSchema = [
                                           "volume-group" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           }
                                        }
                                     },
@@ -43690,8 +45228,9 @@ const apiSchema = [
                                     "name" : {
                                        "description" : "The storage identifier.",
                                        "format" : "pve-storage-id",
+                                       "format_description" : "storage ID",
                                        "type" : "string",
-                                       "typetext" : "<string>"
+                                       "typetext" : "<storage ID>"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
@@ -43751,8 +45290,9 @@ const apiSchema = [
                                           "name" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
@@ -43874,8 +45414,9 @@ const apiSchema = [
                                     "name" : {
                                        "description" : "The storage identifier.",
                                        "format" : "pve-storage-id",
+                                       "format_description" : "storage ID",
                                        "type" : "string",
-                                       "typetext" : "<string>"
+                                       "typetext" : "<storage ID>"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
@@ -43935,8 +45476,9 @@ const apiSchema = [
                                           "name" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
@@ -43973,8 +45515,9 @@ const apiSchema = [
                                           "name" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
+                                             "format_description" : "storage ID",
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "<storage ID>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
@@ -44204,8 +45747,9 @@ const apiSchema = [
                                     "name" : {
                                        "description" : "The storage identifier.",
                                        "format" : "pve-storage-id",
+                                       "format_description" : "storage ID",
                                        "type" : "string",
-                                       "typetext" : "<string>"
+                                       "typetext" : "<storage ID>"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
@@ -44337,6 +45881,12 @@ const apiSchema = [
                                        "osdid" : {
                                           "type" : "integer"
                                        },
+                                       "osdid-list" : {
+                                          "items" : {
+                                             "type" : "integer"
+                                          },
+                                          "type" : "array"
+                                       },
                                        "parent" : {
                                           "description" : "For partitions only. The device path of the disk the partition resides on.",
                                           "optional" : 1,
@@ -44618,7 +46168,7 @@ const apiSchema = [
                                     },
                                     "notify" : {
                                        "default" : 0,
-                                       "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
+                                       "description" : "Send notification about new packages.",
                                        "optional" : 1,
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
@@ -44639,8 +46189,7 @@ const apiSchema = [
                                     [
                                        "Sys.Modify"
                                     ]
-                                 ],
-                                 "description" : "If 'notify: target-package-updates' is set, then the user must have the 'Mapping.Use' permission on '/mapping/notification/<target>'"
+                                 ]
                               },
                               "protected" : 1,
                               "proxyto" : "node",
@@ -45749,6 +47298,12 @@ const apiSchema = [
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "nftables" : {
+                                       "default" : 0,
+                                       "description" : "Enable nftables based firewall (tech preview)",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "nosmurfs" : {
                                        "description" : "Enable SMURFS filter.",
                                        "optional" : 1,
@@ -45928,6 +47483,13 @@ const apiSchema = [
                                        "type" : "integer",
                                        "typetext" : "<integer> (30 - 60)"
                                     },
+                                    "nftables" : {
+                                       "default" : 0,
+                                       "description" : "Enable nftables based firewall (tech preview)",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
@@ -46965,8 +48527,32 @@ const apiSchema = [
                                  "type" : "integer"
                               },
                               "wakeonlan" : {
-                                 "description" : "MAC address for wake on LAN",
-                                 "format" : "mac-addr",
+                                 "description" : "Node specific wake on LAN settings.",
+                                 "format" : {
+                                    "bind-interface" : {
+                                       "default" : "The interface carrying the default route",
+                                       "description" : "Bind to this interface when sending wake on LAN packet",
+                                       "format" : "pve-iface",
+                                       "format_description" : "bind interface",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "broadcast-address" : {
+                                       "default" : "255.255.255.255",
+                                       "description" : "IPv4 broadcast address to use when sending wake on LAN packet",
+                                       "format" : "ipv4",
+                                       "format_description" : "IPv4 broadcast address",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "mac" : {
+                                       "default_key" : 1,
+                                       "description" : "MAC address for wake on LAN",
+                                       "format" : "mac-addr",
+                                       "format_description" : "MAC address",
+                                       "type" : "string"
+                                    }
+                                 },
                                  "optional" : 1,
                                  "type" : "string"
                               }
@@ -47072,11 +48658,35 @@ const apiSchema = [
                                  "typetext" : "<integer> (0 - 300)"
                               },
                               "wakeonlan" : {
-                                 "description" : "MAC address for wake on LAN",
-                                 "format" : "mac-addr",
+                                 "description" : "Node specific wake on LAN settings.",
+                                 "format" : {
+                                    "bind-interface" : {
+                                       "default" : "The interface carrying the default route",
+                                       "description" : "Bind to this interface when sending wake on LAN packet",
+                                       "format" : "pve-iface",
+                                       "format_description" : "bind interface",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "broadcast-address" : {
+                                       "default" : "255.255.255.255",
+                                       "description" : "IPv4 broadcast address to use when sending wake on LAN packet",
+                                       "format" : "ipv4",
+                                       "format_description" : "IPv4 broadcast address",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "mac" : {
+                                       "default_key" : 1,
+                                       "description" : "MAC address for wake on LAN",
+                                       "format" : "mac-addr",
+                                       "format_description" : "MAC address",
+                                       "type" : "string"
+                                    }
+                                 },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "<string>"
+                                 "typetext" : "[mac=]<MAC address> [,bind-interface=<bind interface>] [,broadcast-address=<IPv4 broadcast address>]"
                               }
                            }
                         },
@@ -47407,6 +49017,50 @@ const apiSchema = [
                         },
                         "proxyto" : "node",
                         "returns" : {
+                           "additionalProperties" : 1,
+                           "properties" : {
+                              "boot-info" : {
+                                 "description" : "Meta-information about the boot mode.",
+                                 "properties" : {
+                                    "mode" : {
+                                       "description" : "Through which firmware the system got booted.",
+                                       "enum" : [
+                                          "efi",
+                                          "legacy-bios"
+                                       ],
+                                       "type" : "string"
+                                    },
+                                    "secureboot" : {
+                                       "description" : "System is booted in secure mode, only applicable for the \"efi\" mode.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    }
+                                 },
+                                 "type" : "object"
+                              },
+                              "current-kernel" : {
+                                 "description" : "The uptime of the system in seconds.",
+                                 "properties" : {
+                                    "machine" : {
+                                       "description" : "Hardware (architecture) type",
+                                       "type" : "string"
+                                    },
+                                    "release" : {
+                                       "description" : "OS kernel release (e.g., \"6.8.0\")",
+                                       "type" : "string"
+                                    },
+                                    "sysname" : {
+                                       "description" : "OS kernel name (e.g., \"Linux\")",
+                                       "type" : "string"
+                                    },
+                                    "version" : {
+                                       "description" : "OS kernel version with build info",
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "type" : "object"
+                              }
+                           },
                            "type" : "object"
                         }
                      },
@@ -47871,11 +49525,11 @@ const apiSchema = [
                            "properties" : {
                               "cmd" : {
                                  "default" : "login",
-                                 "description" : "Run specific command or default to login.",
+                                 "description" : "Run specific command or default to login (requires 'root@pam')",
                                  "enum" : [
                                     "upgrade",
-                                    "login",
-                                    "ceph_install"
+                                    "ceph_install",
+                                    "login"
                                  ],
                                  "optional" : 1,
                                  "type" : "string"
@@ -47925,8 +49579,7 @@ const apiSchema = [
                               [
                                  "Sys.Console"
                               ]
-                           ],
-                           "description" : "Restricted to users on realm 'pam'"
+                           ]
                         },
                         "protected" : 1,
                         "returns" : {
@@ -47967,11 +49620,11 @@ const apiSchema = [
                            "properties" : {
                               "cmd" : {
                                  "default" : "login",
-                                 "description" : "Run specific command or default to login.",
+                                 "description" : "Run specific command or default to login (requires 'root@pam')",
                                  "enum" : [
                                     "upgrade",
-                                    "login",
-                                    "ceph_install"
+                                    "ceph_install",
+                                    "login"
                                  ],
                                  "optional" : 1,
                                  "type" : "string"
@@ -47999,8 +49652,7 @@ const apiSchema = [
                               [
                                  "Sys.Console"
                               ]
-                           ],
-                           "description" : "Restricted to users on realm 'pam'"
+                           ]
                         },
                         "protected" : 1,
                         "returns" : {
@@ -48065,7 +49717,7 @@ const apiSchema = [
                                  "Sys.Console"
                               ]
                            ],
-                           "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
+                           "description" : "You also need to pass a valid ticket (vncticket)."
                         },
                         "returns" : {
                            "properties" : {
@@ -48093,11 +49745,11 @@ const apiSchema = [
                            "properties" : {
                               "cmd" : {
                                  "default" : "login",
-                                 "description" : "Run specific command or default to login.",
+                                 "description" : "Run specific command or default to login (requires 'root@pam')",
                                  "enum" : [
                                     "upgrade",
-                                    "login",
-                                    "ceph_install"
+                                    "ceph_install",
+                                    "login"
                                  ],
                                  "optional" : 1,
                                  "type" : "string"
@@ -48132,8 +49784,7 @@ const apiSchema = [
                               [
                                  "Sys.Console"
                               ]
-                           ],
-                           "description" : "Restricted to users on realm 'pam'"
+                           ]
                         },
                         "protected" : 1,
                         "proxyto" : "node",
@@ -48420,8 +50071,9 @@ const apiSchema = [
                               "storage" : {
                                  "description" : "The storage where the template will be stored",
                                  "format" : "pve-storage-id",
+                                 "format_description" : "storage ID",
                                  "type" : "string",
-                                 "typetext" : "<string>"
+                                 "typetext" : "<storage ID>"
                               },
                               "template" : {
                                  "description" : "The template which will downloaded",
@@ -48483,11 +50135,21 @@ const apiSchema = [
                         },
                         "permissions" : {
                            "check" : [
-                              "perm",
-                              "/",
+                              "or",
                               [
-                                 "Sys.Audit",
-                                 "Sys.Modify"
+                                 "perm",
+                                 "/",
+                                 [
+                                    "Sys.Audit",
+                                    "Sys.Modify"
+                                 ]
+                              ],
+                              [
+                                 "perm",
+                                 "/nodes/{node}",
+                                 [
+                                    "Sys.AccessNetwork"
+                                 ]
                               ]
                            ]
                         },
@@ -48657,6 +50319,46 @@ const apiSchema = [
                   "path" : "/nodes/{node}/stopall",
                   "text" : "stopall"
                },
+               {
+                  "info" : {
+                     "POST" : {
+                        "allowtoken" : 1,
+                        "description" : "Suspend all VMs.",
+                        "method" : "POST",
+                        "name" : "suspendall",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "vms" : {
+                                 "description" : "Only consider Guests with these IDs.",
+                                 "format" : "pve-vmid-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "description" : "The 'VM.PowerMgmt' permission is required on '/' or on '/vms/<ID>' for each ID passed via the 'vms' parameter. Additionally, you need 'VM.Config.Disk' on the '/vms/{vmid}' path and 'Datastore.AllocateSpace' for the configured state-storage(s)",
+                           "user" : "all"
+                        },
+                        "protected" : 1,
+                        "proxyto" : "node",
+                        "returns" : {
+                           "type" : "string"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/nodes/{node}/suspendall",
+                  "text" : "suspendall"
+               },
                {
                   "info" : {
                      "POST" : {
@@ -48950,8 +50652,9 @@ const apiSchema = [
                         "storage" : {
                            "description" : "The storage identifier.",
                            "format" : "pve-storage-id",
+                           "format_description" : "storage ID",
                            "type" : "string",
-                           "typetext" : "<string>"
+                           "typetext" : "<storage ID>"
                         }
                      }
                   },
@@ -48980,8 +50683,9 @@ const apiSchema = [
                         "storage" : {
                            "description" : "The storage identifier.",
                            "format" : "pve-storage-id",
+                           "format_description" : "storage ID",
                            "type" : "string",
-                           "typetext" : "<string>"
+                           "typetext" : "<storage ID>"
                         }
                      }
                   },
@@ -49242,7 +50946,7 @@ const apiSchema = [
                            "typetext" : "<boolean>"
                         },
                         "nodes" : {
-                           "description" : "List of cluster node names.",
+                           "description" : "List of nodes for which the storage configuration applies.",
                            "format" : "pve-node-list",
                            "optional" : 1,
                            "type" : "string",
@@ -49275,7 +50979,6 @@ const apiSchema = [
                            "typetext" : "<string>"
                         },
                         "port" : {
-                           "default" : 8007,
                            "description" : "For non default port.",
                            "maximum" : 65535,
                            "minimum" : 1,
@@ -49330,7 +51033,14 @@ const apiSchema = [
                            "typetext" : "<string>"
                         },
                         "shared" : {
-                           "description" : "Mark storage as shared.",
+                           "description" : "Indicate that this is a single storage with the same contents on all nodes (or all listed in the 'nodes' option). It will not make the contents of a local storage automatically accessible to other nodes, it just marks an already shared storage as such!",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "skip-cert-verification" : {
+                           "default" : "false",
+                           "description" : "Disable TLS certificate verification, only enable on fully trusted networks!",
                            "optional" : 1,
                            "type" : "boolean",
                            "typetext" : "<boolean>"
@@ -49358,8 +51068,9 @@ const apiSchema = [
                         "storage" : {
                            "description" : "The storage identifier.",
                            "format" : "pve-storage-id",
+                           "format_description" : "storage ID",
                            "type" : "string",
-                           "typetext" : "<string>"
+                           "typetext" : "<storage ID>"
                         },
                         "subdir" : {
                            "description" : "Subdir to mount.",
@@ -49429,6 +51140,7 @@ const apiSchema = [
                               "cephfs",
                               "cifs",
                               "dir",
+                              "esxi",
                               "glusterfs",
                               "iscsi",
                               "iscsidirect",
@@ -49468,6 +51180,7 @@ const apiSchema = [
                         "cephfs",
                         "cifs",
                         "dir",
+                        "esxi",
                         "glusterfs",
                         "iscsi",
                         "iscsidirect",
@@ -49767,7 +51480,7 @@ const apiSchema = [
                      "typetext" : "<boolean>"
                   },
                   "nodes" : {
-                     "description" : "List of cluster node names.",
+                     "description" : "List of nodes for which the storage configuration applies.",
                      "format" : "pve-node-list",
                      "optional" : 1,
                      "type" : "string",
@@ -49807,7 +51520,6 @@ const apiSchema = [
                      "typetext" : "<string>"
                   },
                   "port" : {
-                     "default" : 8007,
                      "description" : "For non default port.",
                      "maximum" : 65535,
                      "minimum" : 1,
@@ -49875,7 +51587,14 @@ const apiSchema = [
                      "typetext" : "<string>"
                   },
                   "shared" : {
-                     "description" : "Mark storage as shared.",
+                     "description" : "Indicate that this is a single storage with the same contents on all nodes (or all listed in the 'nodes' option). It will not make the contents of a local storage automatically accessible to other nodes, it just marks an already shared storage as such!",
+                     "optional" : 1,
+                     "type" : "boolean",
+                     "typetext" : "<boolean>"
+                  },
+                  "skip-cert-verification" : {
+                     "default" : "false",
+                     "description" : "Disable TLS certificate verification, only enable on fully trusted networks!",
                      "optional" : 1,
                      "type" : "boolean",
                      "typetext" : "<boolean>"
@@ -49903,8 +51622,9 @@ const apiSchema = [
                   "storage" : {
                      "description" : "The storage identifier.",
                      "format" : "pve-storage-id",
+                     "format_description" : "storage ID",
                      "type" : "string",
-                     "typetext" : "<string>"
+                     "typetext" : "<storage ID>"
                   },
                   "subdir" : {
                      "description" : "Subdir to mount.",
@@ -49949,6 +51669,7 @@ const apiSchema = [
                         "cephfs",
                         "cifs",
                         "dir",
+                        "esxi",
                         "glusterfs",
                         "iscsi",
                         "iscsidirect",
@@ -50020,6 +51741,7 @@ const apiSchema = [
                         "cephfs",
                         "cifs",
                         "dir",
+                        "esxi",
                         "glusterfs",
                         "iscsi",
                         "iscsidirect",
@@ -50608,11 +52330,13 @@ const apiSchema = [
                            "additionalProperties" : 0,
                            "properties" : {
                               "comment" : {
+                                 "maxLength" : 2048,
                                  "optional" : 1,
                                  "type" : "string"
                               },
                               "email" : {
                                  "format" : "email-opt",
+                                 "maxLength" : 254,
                                  "optional" : 1,
                                  "type" : "string"
                               },
@@ -50629,6 +52353,7 @@ const apiSchema = [
                                  "type" : "integer"
                               },
                               "firstname" : {
+                                 "maxLength" : 1024,
                                  "optional" : 1,
                                  "type" : "string"
                               },
@@ -50643,9 +52368,11 @@ const apiSchema = [
                               "keys" : {
                                  "description" : "Keys for two factor auth (yubico).",
                                  "optional" : 1,
+                                 "pattern" : "[0-9a-zA-Z!=]{0,4096}",
                                  "type" : "string"
                               },
                               "lastname" : {
+                                 "maxLength" : 1024,
                                  "optional" : 1,
                                  "type" : "string"
                               },
@@ -50694,12 +52421,14 @@ const apiSchema = [
                                  "typetext" : "<boolean>"
                               },
                               "comment" : {
+                                 "maxLength" : 2048,
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
                               "email" : {
                                  "format" : "email-opt",
+                                 "maxLength" : 254,
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
@@ -50719,6 +52448,7 @@ const apiSchema = [
                                  "typetext" : "<integer> (0 - N)"
                               },
                               "firstname" : {
+                                 "maxLength" : 1024,
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
@@ -50732,10 +52462,11 @@ const apiSchema = [
                               "keys" : {
                                  "description" : "Keys for two factor auth (yubico).",
                                  "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
+                                 "pattern" : "[0-9a-zA-Z!=]{0,4096}",
+                                 "type" : "string"
                               },
                               "lastname" : {
+                                 "maxLength" : 1024,
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
@@ -50803,11 +52534,13 @@ const apiSchema = [
                      "items" : {
                         "properties" : {
                            "comment" : {
+                              "maxLength" : 2048,
                               "optional" : 1,
                               "type" : "string"
                            },
                            "email" : {
                               "format" : "email-opt",
+                              "maxLength" : 254,
                               "optional" : 1,
                               "type" : "string"
                            },
@@ -50824,6 +52557,7 @@ const apiSchema = [
                               "type" : "integer"
                            },
                            "firstname" : {
+                              "maxLength" : 1024,
                               "optional" : 1,
                               "type" : "string"
                            },
@@ -50835,9 +52569,11 @@ const apiSchema = [
                            "keys" : {
                               "description" : "Keys for two factor auth (yubico).",
                               "optional" : 1,
+                              "pattern" : "[0-9a-zA-Z!=]{0,4096}",
                               "type" : "string"
                            },
                            "lastname" : {
+                              "maxLength" : 1024,
                               "optional" : 1,
                               "type" : "string"
                            },
@@ -50915,12 +52651,14 @@ const apiSchema = [
                      "additionalProperties" : 0,
                      "properties" : {
                         "comment" : {
+                           "maxLength" : 2048,
                            "optional" : 1,
                            "type" : "string",
                            "typetext" : "<string>"
                         },
                         "email" : {
                            "format" : "email-opt",
+                           "maxLength" : 254,
                            "optional" : 1,
                            "type" : "string",
                            "typetext" : "<string>"
@@ -50940,6 +52678,7 @@ const apiSchema = [
                            "typetext" : "<integer> (0 - N)"
                         },
                         "firstname" : {
+                           "maxLength" : 1024,
                            "optional" : 1,
                            "type" : "string",
                            "typetext" : "<string>"
@@ -50953,10 +52692,11 @@ const apiSchema = [
                         "keys" : {
                            "description" : "Keys for two factor auth (yubico).",
                            "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
+                           "pattern" : "[0-9a-zA-Z!=]{0,4096}",
+                           "type" : "string"
                         },
                         "lastname" : {
+                           "maxLength" : 1024,
                            "optional" : 1,
                            "type" : "string",
                            "typetext" : "<string>"
@@ -51325,6 +53065,10 @@ const apiSchema = [
                                  "optional" : 1,
                                  "type" : "boolean"
                               },
+                              "Sys.AccessNetwork" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
                               "Sys.Audit" : {
                                  "optional" : 1,
                                  "type" : "boolean"
@@ -51849,8 +53593,8 @@ const apiSchema = [
                               "acr-values" : {
                                  "description" : "Specifies the Authentication Context Class Reference values that theAuthorization Server is being requested to use for the Auth Request.",
                                  "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
+                                 "pattern" : "^[^\\x00-\\x1F\\x7F <>#\"]*$",
+                                 "type" : "string"
                               },
                               "autocreate" : {
                                  "default" : 0,
@@ -52202,8 +53946,8 @@ const apiSchema = [
                         "acr-values" : {
                            "description" : "Specifies the Authentication Context Class Reference values that theAuthorization Server is being requested to use for the Auth Request.",
                            "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
+                           "pattern" : "^[^\\x00-\\x1F\\x7F <>#\"]*$",
+                           "type" : "string"
                         },
                         "autocreate" : {
                            "default" : 0,
@@ -52654,7 +54398,7 @@ const apiSchema = [
                                        "typetext" : "<string>"
                                     },
                                     "password" : {
-                                       "description" : "The current password.",
+                                       "description" : "The current password of the user performing the change.",
                                        "maxLength" : 64,
                                        "minLength" : 5,
                                        "optional" : 1,
@@ -52792,7 +54536,7 @@ const apiSchema = [
                                        "typetext" : "<string>"
                                     },
                                     "password" : {
-                                       "description" : "The current password.",
+                                       "description" : "The current password of the user performing the change.",
                                        "maxLength" : 64,
                                        "minLength" : 5,
                                        "optional" : 1,
@@ -52937,7 +54681,7 @@ const apiSchema = [
                                  "typetext" : "<string>"
                               },
                               "password" : {
-                                 "description" : "The current password.",
+                                 "description" : "The current password of the user performing the change.",
                                  "maxLength" : 64,
                                  "minLength" : 5,
                                  "optional" : 1,
@@ -53232,6 +54976,14 @@ const apiSchema = [
                   "parameters" : {
                      "additionalProperties" : 0,
                      "properties" : {
+                        "confirmation-password" : {
+                           "description" : "The current password of the user performing the change.",
+                           "maxLength" : 64,
+                           "minLength" : 5,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "password" : {
                            "description" : "The new password.",
                            "maxLength" : 64,
@@ -53361,9 +55113,9 @@ const apiSchema = [
             "info" : {
                "DELETE" : {
                   "allowtoken" : 1,
-                  "description" : "Delete pool.",
+                  "description" : "Delete pool (deprecated, no support for nested pools, use 'DELETE /pools/?poolid={poolid}').",
                   "method" : "DELETE",
-                  "name" : "delete_pool",
+                  "name" : "delete_pool_deprecated",
                   "parameters" : {
                      "additionalProperties" : 0,
                      "properties" : {
@@ -53391,7 +55143,7 @@ const apiSchema = [
                },
                "GET" : {
                   "allowtoken" : 1,
-                  "description" : "Get pool configuration.",
+                  "description" : "Get pool configuration (deprecated, no support for nested pools, use 'GET /pools/?poolid={poolid}').",
                   "method" : "GET",
                   "name" : "read_pool",
                   "parameters" : {
@@ -53467,9 +55219,9 @@ const apiSchema = [
                },
                "PUT" : {
                   "allowtoken" : 1,
-                  "description" : "Update pool data.",
+                  "description" : "Update pool data (deprecated, no support for nested pools - use 'PUT /pools/?poolid={poolid}' instead).",
                   "method" : "PUT",
-                  "name" : "update_pool",
+                  "name" : "update_pool_deprecated",
                   "parameters" : {
                      "additionalProperties" : 0,
                      "properties" : {
@@ -53535,21 +55287,106 @@ const apiSchema = [
          }
       ],
       "info" : {
+         "DELETE" : {
+            "allowtoken" : 1,
+            "description" : "Delete pool.",
+            "method" : "DELETE",
+            "name" : "delete_pool",
+            "parameters" : {
+               "additionalProperties" : 0,
+               "properties" : {
+                  "poolid" : {
+                     "format" : "pve-poolid",
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  }
+               }
+            },
+            "permissions" : {
+               "check" : [
+                  "perm",
+                  "/pool/{poolid}",
+                  [
+                     "Pool.Allocate"
+                  ]
+               ],
+               "description" : "You can only delete empty pools (no members)."
+            },
+            "protected" : 1,
+            "returns" : {
+               "type" : "null"
+            }
+         },
          "GET" : {
             "allowtoken" : 1,
-            "description" : "Pool index.",
+            "description" : "List pools or get pool configuration.",
             "method" : "GET",
             "name" : "index",
             "parameters" : {
-               "additionalProperties" : 0
+               "additionalProperties" : 0,
+               "properties" : {
+                  "poolid" : {
+                     "format" : "pve-poolid",
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
+                  "type" : {
+                     "enum" : [
+                        "qemu",
+                        "lxc",
+                        "storage"
+                     ],
+                     "optional" : 1,
+                     "requires" : "poolid",
+                     "type" : "string"
+                  }
+               }
             },
             "permissions" : {
-               "description" : "List all pools where you have Pool.Audit permissions on /pool/<pool>.",
+               "description" : "List all pools where you have Pool.Audit permissions on /pool/<pool>, or the pool specific with {poolid}",
                "user" : "all"
             },
             "returns" : {
                "items" : {
                   "properties" : {
+                     "comment" : {
+                        "optional" : 1,
+                        "type" : "string"
+                     },
+                     "members" : {
+                        "items" : {
+                           "additionalProperties" : 1,
+                           "properties" : {
+                              "id" : {
+                                 "type" : "string"
+                              },
+                              "node" : {
+                                 "type" : "string"
+                              },
+                              "storage" : {
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "type" : {
+                                 "enum" : [
+                                    "qemu",
+                                    "lxc",
+                                    "openvz",
+                                    "storage"
+                                 ],
+                                 "type" : "string"
+                              },
+                              "vmid" : {
+                                 "optional" : 1,
+                                 "type" : "integer"
+                              }
+                           },
+                           "type" : "object"
+                        },
+                        "optional" : 1,
+                        "type" : "array"
+                     },
                      "poolid" : {
                         "type" : "string"
                      }
@@ -53598,6 +55435,69 @@ const apiSchema = [
             "returns" : {
                "type" : "null"
             }
+         },
+         "PUT" : {
+            "allowtoken" : 1,
+            "description" : "Update pool.",
+            "method" : "PUT",
+            "name" : "update_pool",
+            "parameters" : {
+               "additionalProperties" : 0,
+               "properties" : {
+                  "allow-move" : {
+                     "default" : 0,
+                     "description" : "Allow adding a guest even if already in another pool. The guest will be removed from its current pool and added to this one.",
+                     "optional" : 1,
+                     "type" : "boolean",
+                     "typetext" : "<boolean>"
+                  },
+                  "comment" : {
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
+                  "delete" : {
+                     "default" : 0,
+                     "description" : "Remove the passed VMIDs and/or storage IDs instead of adding them.",
+                     "optional" : 1,
+                     "type" : "boolean",
+                     "typetext" : "<boolean>"
+                  },
+                  "poolid" : {
+                     "format" : "pve-poolid",
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
+                  "storage" : {
+                     "description" : "List of storage IDs to add or remove from this pool.",
+                     "format" : "pve-storage-id-list",
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
+                  "vms" : {
+                     "description" : "List of guest VMIDs to add or remove from this pool.",
+                     "format" : "pve-vmid-list",
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  }
+               }
+            },
+            "permissions" : {
+               "check" : [
+                  "perm",
+                  "/pool/{poolid}",
+                  [
+                     "Pool.Allocate"
+                  ]
+               ],
+               "description" : "You also need the right to modify permissions on any object you add/delete."
+            },
+            "protected" : 1,
+            "returns" : {
+               "type" : "null"
+            }
          }
       },
       "leaf" : 0,