-var pmgapi = [
+var apiSchema = [
{
"children" : [
{
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Returns the rule database digest. This is used internally for cluster synchronization.",
"method" : "GET",
"name" : "ruledb_digest",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get common rule properties.",
"method" : "GET",
"name" : "config",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Set rule properties.",
"method" : "PUT",
"name" : "update_config",
"typetext" : "<boolean>"
},
"direction" : {
- "description" : "Rule direction. Value `0` matches incomming mails, value `1` matches outgoing mails, and value `2` matches both directions.",
+ "description" : "Rule direction. Value `0` matches incoming mails, value `1` matches outgoing mails, and value `2` matches both directions.",
"maximum" : 2,
"minimum" : 0,
"optional" : 1,
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete group from 'from' list.",
"method" : "DELETE",
"name" : "delete_from_group",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get 'from' group list.",
"method" : "GET",
"name" : "from",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Add group to 'from' list.",
"method" : "POST",
"name" : "add_from_group",
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete group from 'to' list.",
"method" : "DELETE",
"name" : "delete_to_group",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get 'to' group list.",
"method" : "GET",
"name" : "to",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Add group to 'to' list.",
"method" : "POST",
"name" : "add_to_group",
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete group from 'when' list.",
"method" : "DELETE",
"name" : "delete_when_group",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get 'when' group list.",
"method" : "GET",
"name" : "when",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Add group to 'when' list.",
"method" : "POST",
"name" : "add_when_group",
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete group from 'what' list.",
"method" : "DELETE",
"name" : "delete_what_group",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get 'what' group list.",
"method" : "GET",
"name" : "what",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Add group to 'what' list.",
"method" : "POST",
"name" : "add_what_group",
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete group from 'action' list.",
"method" : "DELETE",
"name" : "delete_action_group",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get 'action' group list.",
"method" : "GET",
"name" : "action",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Add group to 'action' list.",
"method" : "POST",
"name" : "add_action_group",
],
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete rule.",
"method" : "DELETE",
"name" : "delete_rule",
}
},
"GET" : {
+ "allowtoken" : 1,
"description" : "Directory index.",
"method" : "GET",
"name" : "index",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get list of rules.",
"method" : "GET",
"name" : "list_rules",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Create new rule.",
"method" : "POST",
"name" : "create_rule",
"typetext" : "<boolean>"
},
"direction" : {
- "description" : "Rule direction. Value `0` matches incomming mails, value `1` matches outgoing mails, and value `2` matches both directions.",
+ "description" : "Rule direction. Value `0` matches incoming mails, value `1` matches outgoing mails, and value `2` matches both directions.",
"maximum" : 2,
"minimum" : 0,
"optional" : 1,
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete 'actions' object.",
"method" : "DELETE",
"name" : "delete_action",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "List 'actions' objects.",
"method" : "GET",
"name" : "list_actions",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'BCC' object settings.",
"method" : "GET",
"name" : "read_bcc",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'BCC' object.",
"method" : "PUT",
"name" : "update_bcc",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Create 'BCC' object.",
"method" : "POST",
"name" : "bcc",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Header Attribute' object settings.",
"method" : "GET",
"name" : "read_field",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Header Attribute' object.",
"method" : "PUT",
"name" : "update_field",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Create 'Header Attribute' object.",
"method" : "POST",
"name" : "field",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Notification' object settings.",
"method" : "GET",
"name" : "read_notification",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Notification' object.",
"method" : "PUT",
"name" : "update_notification",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Create 'Notification' object.",
"method" : "POST",
"name" : "notification",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Disclaimer' object settings.",
"method" : "GET",
"name" : "read_disclaimer",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Disclaimer' object.",
"method" : "PUT",
"name" : "update_disclaimer",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Create 'Disclaimer' object.",
"method" : "POST",
"name" : "disclaimer",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Remove attachments' object settings.",
"method" : "GET",
"name" : "read_removeattachments",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Remove attachments' object.",
"method" : "PUT",
"name" : "update_removeattachments",
"type" : "string",
"typetext" : "<string>"
},
+ "quarantine" : {
+ "default" : 0,
+ "description" : "Copy original mail to attachment Quarantine.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"text" : {
"description" : "The replacement text.",
"maxLength" : 2048,
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Create 'Remove attachments' object.",
"method" : "POST",
"name" : "removeattachments",
"type" : "string",
"typetext" : "<string>"
},
+ "quarantine" : {
+ "default" : 0,
+ "description" : "Copy original mail to attachment Quarantine.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"text" : {
"description" : "The replacement text.",
"maxLength" : 2048,
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Directory index.",
"method" : "GET",
"name" : "index",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get 'what' group properties",
"method" : "GET",
"name" : "get_config",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Modify 'what' group properties",
"method" : "PUT",
"name" : "set_config",
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Remove an object from the 'what' group.",
"method" : "DELETE",
"name" : "delete_object",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "List 'what' group objects.",
"method" : "GET",
"name" : "objects",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'ContentType Filter' object settings.",
"method" : "GET",
"name" : "read_contenttype",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'ContentType Filter' object.",
"method" : "PUT",
"name" : "update_contenttype",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'ContentType Filter' object.",
"method" : "POST",
"name" : "contenttype",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Match Field' object settings.",
"method" : "GET",
"name" : "read_matchfield",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Match Field' object.",
"method" : "PUT",
"name" : "update_matchfield",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Match Field' object.",
"method" : "POST",
"name" : "matchfield",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Spam Filter' object settings.",
"method" : "GET",
"name" : "read_spamfilter",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Spam Filter' object.",
"method" : "PUT",
"name" : "update_spamfilter",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Spam Filter' object.",
"method" : "POST",
"name" : "spamfilter",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Archive Filter' object settings.",
"method" : "GET",
"name" : "read_archivefilter",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Archive Filter' object.",
"method" : "PUT",
"name" : "update_archivefilter",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Archive Filter' object.",
"method" : "POST",
"name" : "archivefilter",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Match Filename' object settings.",
"method" : "GET",
"name" : "read_filenamefilter",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Match Filename' object.",
"method" : "PUT",
"name" : "update_filenamefilter",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Match Filename' object.",
"method" : "POST",
"name" : "filenamefilter",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Virus Filter' object settings.",
"method" : "GET",
"name" : "read_virusfilter",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Virus Filter' object.",
"method" : "PUT",
"name" : "update_virusfilter",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Virus Filter' object.",
"method" : "POST",
"name" : "virusfilter",
"leaf" : 0,
"path" : "/config/ruledb/what/{ogroup}/virusfilter",
"text" : "virusfilter"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read 'Match Archive Filename' object settings.",
+ "method" : "GET",
+ "name" : "read_archivefilenamefilter",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "id" : {
+ "description" : "Object ID.",
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "ogroup" : {
+ "description" : "Object Groups ID.",
+ "type" : "integer",
+ "typetext" : "<integer>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "master",
+ "returns" : {
+ "properties" : {
+ "id" : {
+ "type" : "integer"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update 'Match Archive Filename' object.",
+ "method" : "PUT",
+ "name" : "update_archivefilenamefilter",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "filename" : {
+ "description" : "Filename filter",
+ "maxLength" : 1024,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "id" : {
+ "description" : "Object ID.",
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "ogroup" : {
+ "description" : "Object Groups ID.",
+ "type" : "integer",
+ "typetext" : "<integer>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/ruledb/what/{ogroup}/archivefilenamefilter/{id}",
+ "text" : "{id}"
+ }
+ ],
+ "info" : {
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Add 'Match Archive Filename' object.",
+ "method" : "POST",
+ "name" : "archivefilenamefilter",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "filename" : {
+ "description" : "Filename filter",
+ "maxLength" : 1024,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ogroup" : {
+ "description" : "Object Groups ID.",
+ "type" : "integer",
+ "typetext" : "<integer>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "description" : "The object ID.",
+ "type" : "integer"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/config/ruledb/what/{ogroup}/archivefilenamefilter",
+ "text" : "archivefilenamefilter"
}
],
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete a 'what' group.",
"method" : "DELETE",
"name" : "delete_{$oclass}_group",
}
},
"GET" : {
+ "allowtoken" : 1,
"description" : "Directory index.",
"method" : "GET",
"name" : "index",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get list of 'what' groups.",
"method" : "GET",
"name" : "list_what_groups",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Create a new 'what' group.",
"method" : "POST",
"name" : "create_what_group",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get 'when' group properties",
"method" : "GET",
"name" : "get_config",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Modify 'when' group properties",
"method" : "PUT",
"name" : "set_config",
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Remove an object from the 'when' group.",
"method" : "DELETE",
"name" : "delete_object",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "List 'when' group objects.",
"method" : "GET",
"name" : "objects",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'TimeFrame' object settings.",
"method" : "GET",
"name" : "read_timeframe",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'TimeFrame' object.",
"method" : "PUT",
"name" : "update_timeframe",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'TimeFrame' object.",
"method" : "POST",
"name" : "timeframe",
],
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete a 'when' group.",
"method" : "DELETE",
"name" : "delete_{$oclass}_group",
}
},
"GET" : {
+ "allowtoken" : 1,
"description" : "Directory index.",
"method" : "GET",
"name" : "index",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get list of 'when' groups.",
"method" : "GET",
"name" : "list_when_groups",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Create a new 'when' group.",
"method" : "POST",
"name" : "create_when_group",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get 'who' group properties",
"method" : "GET",
"name" : "get_config",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Modify 'who' group properties",
"method" : "PUT",
"name" : "set_config",
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Remove an object from the 'who' group.",
"method" : "DELETE",
"name" : "delete_object",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "List 'who' group objects.",
"method" : "GET",
"name" : "objects",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Mail address' object settings.",
"method" : "GET",
"name" : "read_email",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Mail address' object.",
"method" : "PUT",
"name" : "update_email",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Mail address' object.",
"method" : "POST",
"name" : "email",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Domain' object settings.",
"method" : "GET",
"name" : "read_domain",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Domain' object.",
"method" : "PUT",
"name" : "update_domain",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Domain' object.",
"method" : "POST",
"name" : "domain",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Regular Expression' object settings.",
"method" : "GET",
"name" : "read_regex",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Regular Expression' object.",
"method" : "PUT",
"name" : "update_regex",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Regular Expression' object.",
"method" : "POST",
"name" : "regex",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'IP Address' object settings.",
"method" : "GET",
"name" : "read_ip",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'IP Address' object.",
"method" : "PUT",
"name" : "update_ip",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'IP Address' object.",
"method" : "POST",
"name" : "ip",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'IP Network' object settings.",
"method" : "GET",
"name" : "read_network",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'IP Network' object.",
"method" : "PUT",
"name" : "update_network",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'IP Network' object.",
"method" : "POST",
"name" : "network",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'LDAP Group' object settings.",
"method" : "GET",
"name" : "read_ldap",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'LDAP Group' object.",
"method" : "PUT",
"name" : "update_ldap",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'LDAP Group' object.",
"method" : "POST",
"name" : "ldap",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'LDAP User' object settings.",
"method" : "GET",
"name" : "read_ldapuser",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'LDAP User' object.",
"method" : "PUT",
"name" : "update_ldapuser",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'LDAP User' object.",
"method" : "POST",
"name" : "ldapuser",
],
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete a 'who' group.",
"method" : "DELETE",
"name" : "delete_{$oclass}_group",
}
},
"GET" : {
+ "allowtoken" : 1,
"description" : "Directory index.",
"method" : "GET",
"name" : "index",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get list of 'who' groups.",
"method" : "GET",
"name" : "list_who_groups",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Create a new 'who' group.",
"method" : "POST",
"name" : "create_who_group",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Directory index.",
"method" : "GET",
"name" : "index",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Reset PMG rule database back to factory defaults.",
"method" : "POST",
"name" : "reset_ruledb",
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Remove an object from the SMTP whitelist.",
"method" : "DELETE",
"name" : "delete_object",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get list of all SMTP whitelist entries.",
"method" : "GET",
"name" : "objects",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Mail address' object settings.",
"method" : "GET",
"name" : "read_email",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Mail address' object.",
"method" : "PUT",
"name" : "update_email",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Mail address' object.",
"method" : "POST",
"name" : "email",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Mail address' object settings.",
"method" : "GET",
"name" : "read_receiver",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Mail address' object.",
"method" : "PUT",
"name" : "update_receiver",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Mail address' object.",
"method" : "POST",
"name" : "receiver",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Domain' object settings.",
"method" : "GET",
"name" : "read_domain",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Domain' object.",
"method" : "PUT",
"name" : "update_domain",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Domain' object.",
"method" : "POST",
"name" : "domain",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Domain' object settings.",
"method" : "GET",
"name" : "read_receiver_domain",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Domain' object.",
"method" : "PUT",
"name" : "update_receiver_domain",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Domain' object.",
"method" : "POST",
"name" : "receiver_domain",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Regular Expression' object settings.",
"method" : "GET",
"name" : "read_regex",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Regular Expression' object.",
"method" : "PUT",
"name" : "update_regex",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Regular Expression' object.",
"method" : "POST",
"name" : "regex",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'Regular Expression' object settings.",
"method" : "GET",
"name" : "read_receiver_regex",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'Regular Expression' object.",
"method" : "PUT",
"name" : "update_receiver_regex",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'Regular Expression' object.",
"method" : "POST",
"name" : "receiver_regex",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'IP Address' object settings.",
"method" : "GET",
"name" : "read_ip",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'IP Address' object.",
"method" : "PUT",
"name" : "update_ip",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'IP Address' object.",
"method" : "POST",
"name" : "ip",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read 'IP Network' object settings.",
"method" : "GET",
"name" : "read_network",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update 'IP Network' object.",
"method" : "PUT",
"name" : "update_network",
],
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Add 'IP Network' object.",
"method" : "POST",
"name" : "network",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Directory index.",
"method" : "GET",
"name" : "index",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get LDAP profile configuration.",
"method" : "GET",
"name" : "read_config",
"returns" : {}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update LDAP profile settings.",
"method" : "PUT",
"name" : "update_config",
"type" : "string",
"typetext" : "<string>"
},
+ "cafile" : {
+ "description" : "Path to CA file. Only useful with option 'verify'",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"comment" : {
"description" : "Description.",
"maxLength" : 4096,
},
"mode" : {
"default" : "ldap",
- "description" : "LDAP protocol mode ('ldap' or 'ldaps').",
+ "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').",
"enum" : [
"ldap",
- "ldaps"
+ "ldaps",
+ "ldap+starttls"
],
"optional" : 1,
"type" : "string"
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
+ },
+ "verify" : {
+ "default" : 0,
+ "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
}
},
"type" : "object"
{
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Synchronice LDAP users to local database.",
"method" : "POST",
"name" : "sync_profile",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get all email addresses for the specified user.",
"method" : "GET",
"name" : "address_list",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "List LDAP users.",
"method" : "GET",
"name" : "profile_list_users",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "List LDAP group members.",
"method" : "GET",
"name" : "profile_list_group_members",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "List LDAP groups.",
"method" : "GET",
"name" : "profile_list_groups",
],
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete an LDAP profile",
"method" : "DELETE",
"name" : "delete",
}
},
"GET" : {
+ "allowtoken" : 1,
"description" : "Directory index",
"method" : "GET",
"name" : "profile_index",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "List configured LDAP profiles.",
"method" : "GET",
"name" : "index",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Add LDAP profile.",
"method" : "POST",
"name" : "create",
"type" : "string",
"typetext" : "<string>"
},
+ "cafile" : {
+ "description" : "Path to CA file. Only useful with option 'verify'",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"comment" : {
"description" : "Description.",
"maxLength" : 4096,
},
"mode" : {
"default" : "ldap",
- "description" : "LDAP protocol mode ('ldap' or 'ldaps').",
+ "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').",
"enum" : [
"ldap",
- "ldaps"
+ "ldaps",
+ "ldap+starttls"
],
"optional" : 1,
"type" : "string"
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
+ },
+ "verify" : {
+ "default" : 0,
+ "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
}
},
"type" : "object"
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete a relay domain",
"method" : "DELETE",
"name" : "delete",
}
},
"GET" : {
+ "allowtoken" : 1,
"description" : "Read Domain data (comment).",
"method" : "GET",
"name" : "read",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update relay domain data (comment).",
"method" : "PUT",
"name" : "write",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "List relay domains.",
"method" : "GET",
"name" : "index",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Add relay domain.",
"method" : "POST",
"name" : "create",
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete a fetchmail configuration entry.",
"method" : "DELETE",
"name" : "delete",
}
},
"GET" : {
+ "allowtoken" : 1,
"description" : "Read fetchmail user configuration.",
"method" : "GET",
"name" : "read",
"maxLength" : 512,
"minLength" : 3,
"optional" : 1,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
"type" : "string"
},
"user" : {
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update fetchmail user configuration.",
"method" : "PUT",
"name" : "write",
"maxLength" : 512,
"minLength" : 3,
"optional" : 1,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
"type" : "string"
},
"user" : {
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "List fetchmail users.",
"method" : "GET",
"name" : "index",
"maxLength" : 512,
"minLength" : 3,
"optional" : 1,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
"type" : "string"
},
"user" : {
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Create fetchmail user configuration.",
"method" : "POST",
"name" : "create",
"description" : "The target email address (where to deliver fetched mails).",
"maxLength" : 512,
"minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
"type" : "string"
},
"user" : {
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete a transport map entry",
"method" : "DELETE",
"name" : "delete",
}
},
"GET" : {
+ "allowtoken" : 1,
"description" : "Read transport map entry.",
"method" : "GET",
"name" : "read",
"port" : {
"type" : "integer"
},
+ "protocol" : {
+ "type" : "string"
+ },
"use_mx" : {
"type" : "boolean"
}
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update transport map entry.",
"method" : "PUT",
"name" : "write",
},
"host" : {
"description" : "Target host (name or IP address).",
- "format" : "address",
+ "format" : "transport-address",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
"port" : {
- "description" : "SMTP port.",
+ "description" : "Transport port.",
"maximum" : 65535,
"minimum" : 1,
"optional" : 1,
"type" : "integer",
"typetext" : "<integer> (1 - 65535)"
},
+ "protocol" : {
+ "default" : "smtp",
+ "description" : "Transport protocol.",
+ "enum" : [
+ "smtp",
+ "lmtp"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"use_mx" : {
- "description" : "Enable MX lookups.",
+ "description" : "Enable MX lookups (SMTP).",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "List transport map entries.",
"method" : "GET",
"name" : "index",
"port" : {
"type" : "integer"
},
+ "protocol" : {
+ "type" : "string"
+ },
"use_mx" : {
"type" : "boolean"
}
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Add transport map entry.",
"method" : "POST",
"name" : "create",
},
"host" : {
"description" : "Target host (name or IP address).",
- "format" : "address",
+ "format" : "transport-address",
"type" : "string",
"typetext" : "<string>"
},
"port" : {
"default" : 25,
- "description" : "SMTP port.",
+ "description" : "Transport port.",
"maximum" : 65535,
"minimum" : 1,
"optional" : 1,
"type" : "integer",
"typetext" : "<integer> (1 - 65535)"
},
+ "protocol" : {
+ "default" : "smtp",
+ "description" : "Transport protocol.",
+ "enum" : [
+ "smtp",
+ "lmtp"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"use_mx" : {
"default" : 1,
- "description" : "Enable MX lookups.",
+ "description" : "Enable MX lookups (SMTP).",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete a truster network",
"method" : "DELETE",
"name" : "delete",
}
},
"GET" : {
+ "allowtoken" : 1,
"description" : "Read trusted network data (comment).",
"method" : "GET",
"name" : "read",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update trusted data (comment).",
"method" : "PUT",
"name" : "write",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "List of trusted networks from where SMTP clients are allowed to relay mail through Proxmox Mail Gateway.",
"method" : "GET",
"name" : "index",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Add a trusted network.",
"method" : "POST",
"name" : "create",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Cluster node index.",
"method" : "GET",
"name" : "nodes",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Add an node to the cluster config.",
"method" : "POST",
"name" : "add_node",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Cluster node status.",
"method" : "GET",
"name" : "status",
{
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Create initial cluster config with current node as master.",
"method" : "POST",
"name" : "create",
{
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Join local node to an existing cluster.",
"method" : "POST",
"name" : "join",
"leaf" : 1,
"path" : "/config/cluster/join",
"text" : "join"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Update API certificate fingerprints (by fetching it via ssh).",
+ "method" : "POST",
+ "name" : "update_fingerprints",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/cluster/update-fingerprints",
+ "text" : "update-fingerprints"
}
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Directory index.",
"method" : "GET",
"name" : "index",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get Mime Types List",
"method" : "GET",
"name" : "index",
"text" : "mimetypes"
},
{
- "info" : {
- "GET" : {
- "description" : "Read admin configuration properties.",
- "method" : "GET",
- "name" : "read_admin_section",
- "parameters" : {
- "additionalProperties" : 0
- },
- "permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
- },
- "proxyto" : "master",
- "returns" : {
- "type" : "object"
- }
- },
- "PUT" : {
- "description" : "Update admin configuration properties.",
- "method" : "PUT",
- "name" : "update_admin_section",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "advfilter" : {
- "default" : 1,
- "description" : "Use advanced filters for statistic.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete a tls_policy entry",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "destination" : {
+ "description" : "Destination (Domain or next-hop).",
+ "format" : "transport-domain-or-nexthop",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
},
- "avast" : {
- "default" : 0,
- "description" : "Use Avast Virus Scanner (/bin/scan). You need to buy and install 'Avast Core Security' before you can enable this feature.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
},
- "clamav" : {
- "default" : 1,
- "description" : "Use ClamAV Virus Scanner. This is the default virus scanner and is enabled by default.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read tls_policy entry.",
+ "method" : "GET",
+ "name" : "read",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "destination" : {
+ "description" : "Destination (Domain or next-hop).",
+ "format" : "transport-domain-or-nexthop",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
},
- "dailyreport" : {
- "default" : 1,
- "description" : "Send daily reports.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
- "maxLength" : 4096,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "demo" : {
- "default" : 0,
- "description" : "Demo mode - do not start SMTP filter.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
},
- "email" : {
- "default" : "admin@domain.tld",
- "description" : "Administrator E-Mail address.",
- "format" : "email",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "proxyto" : "master",
+ "returns" : {
+ "properties" : {
+ "destination" : {
+ "format" : "transport-domain-or-nexthop",
+ "type" : "string"
+ },
+ "policy" : {
+ "format" : "tls-policy",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update tls_policy entry.",
+ "method" : "PUT",
+ "name" : "write",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "destination" : {
+ "description" : "Destination (Domain or next-hop).",
+ "format" : "transport-domain-or-nexthop",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "policy" : {
+ "description" : "TLS policy",
+ "format" : "tls-policy-strict",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
},
- "http_proxy" : {
- "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
- "optional" : 1,
- "pattern" : "http://.*",
- "type" : "string"
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
},
- "statlifetime" : {
- "default" : 7,
- "description" : "User Statistics Lifetime (days)",
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
}
- },
- "type" : "object"
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
+ }
},
- "protected" : 1,
- "proxyto" : "master",
- "returns" : {
- "type" : "null"
- }
+ "leaf" : 1,
+ "path" : "/config/tlspolicy/{destination}",
+ "text" : "{destination}"
}
- },
- "leaf" : 1,
- "path" : "/config/admin",
- "text" : "admin"
- },
- {
+ ],
"info" : {
"GET" : {
- "description" : "Read clamav configuration properties.",
+ "allowtoken" : 1,
+ "description" : "List tls_policy entries.",
"method" : "GET",
- "name" : "read_clamav_section",
+ "name" : "index",
"parameters" : {
"additionalProperties" : 0
},
},
"proxyto" : "master",
"returns" : {
- "type" : "object"
+ "items" : {
+ "properties" : {
+ "destination" : {
+ "format" : "transport-domain-or-nexthop",
+ "type" : "string"
+ },
+ "policy" : {
+ "format" : "tls-policy",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{destination}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
}
},
- "PUT" : {
- "description" : "Update clamav configuration properties.",
- "method" : "PUT",
- "name" : "update_clamav_section",
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Add tls_policy entry.",
+ "method" : "POST",
+ "name" : "create",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "archiveblockencrypted" : {
- "default" : 0,
- "description" : "Wether to block encrypted archives. Mark encrypted archives as viruses.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "archivemaxfiles" : {
- "default" : 1000,
- "description" : "Number of files to be scanned within an archive, a document, or any other kind of container. Warning: disabling this limit or setting it too high may result in severe damage to the system.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "archivemaxrec" : {
- "default" : 5,
- "description" : "Nested archives are scanned recursively, e.g. if a ZIP archive contains a TAR file, all files within it will also be scanned. This options specifies how deeply the process should be continued. Warning: setting this limit too high may result in severe damage to the system.",
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- },
- "archivemaxsize" : {
- "default" : 25000000,
- "description" : "Files larger than this limit won't be scanned.",
- "minimum" : 1000000,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1000000 - N)"
- },
- "dbmirror" : {
- "default" : "database.clamav.net",
- "description" : "ClamAV database mirror server.",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
- "maxLength" : 4096,
- "optional" : 1,
+ "destination" : {
+ "description" : "Destination (Domain or next-hop).",
+ "format" : "transport-domain-or-nexthop",
"type" : "string",
"typetext" : "<string>"
},
- "digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
- "optional" : 1,
+ "policy" : {
+ "description" : "TLS policy",
+ "format" : "tls-policy-strict",
"type" : "string",
"typetext" : "<string>"
- },
- "maxcccount" : {
- "default" : 0,
- "description" : "This option sets the lowest number of Credit Card or Social Security numbers found in a file to generate a detect.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "maxscansize" : {
- "default" : 100000000,
- "description" : "Sets the maximum amount of data to be scanned for each input file.",
- "minimum" : 1000000,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1000000 - N)"
- },
- "safebrowsing" : {
- "default" : 1,
- "description" : "Enables support for Google Safe Browsing.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
}
- },
- "type" : "object"
+ }
},
"permissions" : {
"check" : [
}
}
},
- "leaf" : 1,
- "path" : "/config/clamav",
- "text" : "clamav"
+ "leaf" : 0,
+ "path" : "/config/tlspolicy",
+ "text" : "tlspolicy"
},
{
- "info" : {
- "GET" : {
- "description" : "Read mail configuration properties.",
- "method" : "GET",
- "name" : "read_mail_section",
- "parameters" : {
- "additionalProperties" : 0
- },
- "permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
- },
- "proxyto" : "master",
- "returns" : {
- "type" : "object"
- }
- },
- "PUT" : {
- "description" : "Update mail configuration properties.",
- "method" : "PUT",
- "name" : "update_mail_section",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "banner" : {
- "default" : "ESMTP Proxmox",
- "description" : "ESMTP banner.",
- "maxLength" : 1024,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "conn_count_limit" : {
- "default" : 50,
- "description" : "How many simultaneous connections any client is allowed to make to this service. To disable this feature, specify a limit of 0.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "conn_rate_limit" : {
- "default" : 0,
- "description" : "The maximal number of connection attempts any client is allowed to make to this service per minute. To disable this feature, specify a limit of 0.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
- "maxLength" : 4096,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "dnsbl_sites" : {
- "description" : "Optional list of DNS white/blacklist domains (see postscreen_dnsbl_sites parameter).",
- "format" : "dnsbl-entry-list",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete a DKIM-sign domain",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "domain" : {
+ "description" : "Domain name.",
+ "format" : "transport-domain",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read Domain data (comment).",
+ "method" : "GET",
+ "name" : "read",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "domain" : {
+ "description" : "Domain name.",
+ "format" : "transport-domain",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "master",
+ "returns" : {
+ "properties" : {
+ "comment" : {
+ "type" : "string"
+ },
+ "domain" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update DKIM-sign domain data (comment).",
+ "method" : "PUT",
+ "name" : "write",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "comment" : {
+ "description" : "Comment.",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "domain" : {
+ "description" : "Domain name.",
+ "format" : "transport-domain",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
},
- "dwarning" : {
- "default" : 4,
- "description" : "SMTP delay warning time (in hours).",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
+ "leaf" : 1,
+ "path" : "/config/dkim/domains/{domain}",
+ "text" : "{domain}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "List DKIM-sign domains.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0
},
- "ext_port" : {
- "default" : 25,
- "description" : "SMTP port number for incoming mail (untrusted). This must be a different number than 'int_port'.",
- "maximum" : 65535,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 65535)"
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
},
- "greylist" : {
- "default" : 1,
- "description" : "Use Greylisting.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "proxyto" : "master",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "comment" : {
+ "type" : "string"
+ },
+ "domain" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{domain}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Add DKIM-sign domain.",
+ "method" : "POST",
+ "name" : "create",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "comment" : {
+ "description" : "Comment.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "domain" : {
+ "description" : "Domain name.",
+ "format" : "transport-domain",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
},
- "helotests" : {
- "default" : 0,
- "description" : "Use SMTP HELO tests.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
},
- "hide_received" : {
- "default" : 0,
- "description" : "Hide received header in outgoing mails.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/config/dkim/domains",
+ "text" : "domains"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get the public key for the configured selector, prepared as DKIM TXT record",
+ "method" : "GET",
+ "name" : "get_selector_info",
+ "parameters" : {
+ "additionalProperties" : 0
},
- "int_port" : {
- "default" : 26,
- "description" : "SMTP port number for outgoing mail (trusted).",
- "maximum" : 65535,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 65535)"
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
},
- "max_filters" : {
- "default" : 15,
- "description" : "Maximum number of pmg-smtp-filter processes.",
- "maximum" : 40,
- "minimum" : 3,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (3 - 40)"
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "properties" : {
+ "keysize" : {
+ "minimum" : 1024,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "record" : {
+ "format" : "pmg-dkim-record",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "selector" : {
+ "format" : "dns-name",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Generate a new private key for selector. All future mail will be signed with the new key!",
+ "method" : "POST",
+ "name" : "set_selector",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "force" : {
+ "description" : "Overwrite existing key",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "keysize" : {
+ "description" : "Number of bits for the RSA-Key",
+ "minimum" : 1024,
+ "type" : "integer",
+ "typetext" : "<integer> (1024 - N)"
+ },
+ "selector" : {
+ "description" : "DKIM Selector",
+ "format" : "dns-name",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
},
- "max_policy" : {
- "default" : 5,
- "description" : "Maximum number of pmgpolicy processes.",
- "maximum" : 10,
- "minimum" : 2,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (2 - 10)"
- },
- "max_smtpd_in" : {
- "default" : 99,
- "description" : "Maximum number of SMTP daemon processes (in).",
- "maximum" : 100,
- "minimum" : 3,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (3 - 100)"
- },
- "max_smtpd_out" : {
- "default" : 99,
- "description" : "Maximum number of SMTP daemon processes (out).",
- "maximum" : 100,
- "minimum" : 3,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (3 - 100)"
- },
- "maxsize" : {
- "default" : 10485760,
- "description" : "Maximum email size. Larger mails are rejected.",
- "minimum" : 1024,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1024 - N)"
- },
- "message_rate_limit" : {
- "default" : 0,
- "description" : "The maximal number of message delivery requests that any client is allowed to make to this service per minute.To disable this feature, specify a limit of 0.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "rejectunknown" : {
- "default" : 0,
- "description" : "Reject unknown clients.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "rejectunknownsender" : {
- "default" : 0,
- "description" : "Reject unknown senders.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "relay" : {
- "description" : "The default mail delivery transport (incoming mails).",
- "format" : "address",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "relaynomx" : {
- "default" : 0,
- "description" : "Disable MX lookups for default relay.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "relayport" : {
- "default" : 25,
- "description" : "SMTP port number for relay host.",
- "maximum" : 65535,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 65535)"
- },
- "smarthost" : {
- "description" : "When set, all outgoing mails are deliverd to the specified smarthost.",
- "format" : "address",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "spf" : {
- "default" : 1,
- "description" : "Use Sender Policy Framework.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "tls" : {
- "default" : 0,
- "description" : "Enable TLS.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
},
- "tlsheader" : {
- "default" : 0,
- "description" : "Add TLS received header.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/dkim/selector",
+ "text" : "selector"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get a list of all existing selectors",
+ "method" : "GET",
+ "name" : "get_selector_list",
+ "parameters" : {
+ "additionalProperties" : 0
},
- "tlslog" : {
- "default" : 0,
- "description" : "Enable TLS Logging.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
},
- "verifyreceivers" : {
- "description" : "Enable receiver verification. The value spefifies the numerical reply code when the Postfix SMTP server rejects a recipient address.",
- "enum" : [
- "450",
- "550"
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "selector" : {
+ "format" : "dns-name",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{selector}",
+ "rel" : "child"
+ }
],
- "optional" : 1,
- "type" : "string"
+ "type" : "array"
}
- },
- "type" : "object"
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
+ }
},
- "protected" : 1,
- "proxyto" : "master",
- "returns" : {
- "type" : "null"
- }
+ "leaf" : 1,
+ "path" : "/config/dkim/selectors",
+ "text" : "selectors"
}
- },
- "leaf" : 1,
- "path" : "/config/mail",
- "text" : "mail"
- },
- {
+ ],
"info" : {
"GET" : {
- "description" : "Read spam configuration properties.",
+ "allowtoken" : 1,
+ "description" : "Directory index.",
"method" : "GET",
- "name" : "read_spam_section",
+ "name" : "index",
"parameters" : {
"additionalProperties" : 0
},
- "permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
- },
- "proxyto" : "master",
"returns" : {
- "type" : "object"
+ "items" : {
+ "properties" : {
+ "section" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{section}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
}
- },
- "PUT" : {
- "description" : "Update spam configuration properties.",
- "method" : "PUT",
- "name" : "update_spam_section",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "bounce_score" : {
- "default" : 0,
- "description" : "Additional score for bounce mails.",
- "maximum" : 1000,
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - 1000)"
+ }
+ },
+ "leaf" : 0,
+ "path" : "/config/dkim",
+ "text" : "dkim"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Edit custom SpamAssassin score",
+ "method" : "DELETE",
+ "name" : "delete_score",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "name" : {
+ "description" : "The name of the rule.",
+ "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
+ "type" : "string"
+ }
+ }
},
- "clamav_heuristic_score" : {
- "default" : 3,
- "description" : "Score for ClamaAV heuristics (Google Safe Browsing database, PhishingScanURLs, ...).",
- "maximum" : 1000,
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - 1000)"
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get custom SpamAssassin score",
+ "method" : "GET",
+ "name" : "get_score",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "name" : {
+ "description" : "The name of the rule.",
+ "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
+ "type" : "string"
+ }
+ }
},
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
- "maxLength" : 4096,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "languages" : {
- "default" : "all",
- "description" : "This option is used to specify which languages are considered OK for incoming mail.",
- "optional" : 1,
- "pattern" : "(all|([a-z][a-z])+( ([a-z][a-z])+)*)",
- "type" : "string"
- },
- "maxspamsize" : {
- "default" : 262144,
- "description" : "Maximum size of spam messages in bytes.",
- "minimum" : 64,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (64 - N)"
- },
- "rbl_checks" : {
- "default" : 1,
- "description" : "Enable real time blacklists (RBL) checks.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "use_awl" : {
- "default" : 1,
- "description" : "Use the Auto-Whitelist plugin.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "use_bayes" : {
- "default" : 1,
- "description" : "Whether to use the naive-Bayesian-style classifier.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "use_razor" : {
- "default" : 1,
- "description" : "Whether to use Razor2, if it is available.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "wl_bounce_relays" : {
- "description" : "Whitelist legitimate bounce relays.",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "properties" : {
+ "comment" : {
+ "description" : "The Comment.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "name" : {
+ "description" : "The name of the rule.",
+ "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
+ "type" : "string"
+ },
+ "score" : {
+ "description" : "The score the rule should be valued at.",
+ "type" : "number"
+ }
+ },
+ "type" : "object"
}
},
- "type" : "object"
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Edit custom SpamAssassin score",
+ "method" : "PUT",
+ "name" : "edit_score",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "comment" : {
+ "description" : "The Comment.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "name" : {
+ "description" : "The name of the rule.",
+ "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
+ "type" : "string"
+ },
+ "score" : {
+ "description" : "The score the rule should be valued at.",
+ "type" : "number",
+ "typetext" : "<number>"
+ }
+ }
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/customscores/{name}",
+ "text" : "{name}"
+ }
+ ],
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Revert custom score changes.",
+ "method" : "DELETE",
+ "name" : "revert_score_changes",
+ "parameters" : {
+ "additionalProperties" : 0
},
"permissions" : {
"check" : [
"returns" : {
"type" : "null"
}
- }
- },
- "leaf" : 1,
- "path" : "/config/spam",
- "text" : "spam"
- },
- {
- "info" : {
+ },
"GET" : {
- "description" : "Read spamquar configuration properties.",
+ "allowtoken" : 1,
+ "description" : "List custom scores.",
"method" : "GET",
- "name" : "read_spamquar_section",
+ "name" : "list_scores",
"parameters" : {
"additionalProperties" : 0
},
},
"proxyto" : "master",
"returns" : {
- "type" : "object"
+ "items" : {
+ "properties" : {
+ "comment" : {
+ "description" : "The Comment.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string"
+ },
+ "name" : {
+ "description" : "The name of the rule.",
+ "optional" : 1,
+ "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
+ "type" : "string"
+ },
+ "score" : {
+ "description" : "The score the rule should be valued at.",
+ "optional" : 1,
+ "type" : "number"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
}
},
- "PUT" : {
- "description" : "Update spamquar configuration properties.",
- "method" : "PUT",
- "name" : "update_spamquar_section",
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Create custom SpamAssassin score",
+ "method" : "POST",
+ "name" : "create_score",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "allowhrefs" : {
- "default" : 1,
- "description" : "Allow to view hyperlinks.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "authmode" : {
- "default" : "ticket",
- "description" : "Authentication mode to access the quarantine interface. Mode 'ticket' allows login using tickets sent with the daily spam report. Mode 'ldap' requires to login using an LDAP account. Finally, mode 'ldapticket' allows both ways.",
- "enum" : [
- "ticket",
- "ldap",
- "ldapticket"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
- "maxLength" : 4096,
+ "comment" : {
+ "description" : "The Comment.",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "string",
"typetext" : "<string>"
},
- "hostname" : {
- "description" : "Quarantine Host. Useful if you run a Cluster and want users to connect to a specific host.",
- "format" : "address",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "lifetime" : {
- "default" : 7,
- "description" : "Quarantine life time (days)",
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
+ "name" : {
+ "description" : "The name of the rule.",
+ "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
+ "type" : "string"
},
- "mailfrom" : {
- "description" : "Text for 'From' header in daily spam report mails.",
+ "score" : {
+ "description" : "The score the rule should be valued at.",
+ "type" : "number",
+ "typetext" : "<number>"
+ }
+ }
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Apply custom score changes.",
+ "method" : "PUT",
+ "name" : "apply_score_changes",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "port" : {
- "default" : 8006,
- "description" : "Quarantine Port. Useful if you have a reverse proxy or port forwarding for the webinterface. Only used for the generated Spam report.",
- "maximum" : 65535,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 65535)"
- },
- "protocol" : {
- "default" : "https",
- "description" : "Quarantine Webinterface Protocol. Useful if you have a reverse proxy for the webinterface. Only used for the generated Spam report.",
- "enum" : [
- "http",
- "https"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "reportstyle" : {
- "default" : "verbose",
- "description" : "Spam report style.",
- "enum" : [
- "none",
- "short",
- "verbose",
- "custom"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "viewimages" : {
- "default" : 1,
- "description" : "Allow to view images.",
+ "restart-daemon" : {
+ "default" : 0,
+ "description" : "If set, also restarts pmg-smtp-filter. This is necessary for the changes to work.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
}
- },
- "type" : "object"
+ }
},
"permissions" : {
"check" : [
"protected" : 1,
"proxyto" : "master",
"returns" : {
- "type" : "null"
+ "type" : "string"
}
}
},
- "leaf" : 1,
- "path" : "/config/spamquar",
- "text" : "spamquar"
+ "leaf" : 0,
+ "path" : "/config/customscores",
+ "text" : "customscores"
},
{
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete an PBS remote",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "remote" : {
+ "description" : "Profile ID.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get Proxmox Backup Server remote configuration.",
+ "method" : "GET",
+ "name" : "read_config",
+ "parameters" : {
+ "additionalProperties" : 1,
+ "properties" : {
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "master",
+ "returns" : {}
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update PBS remote settings.",
+ "method" : "PUT",
+ "name" : "update_config",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "datastore" : {
+ "description" : "Proxmox Backup Server datastore name.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "disable" : {
+ "description" : "Flag to disable (deactivate) the entry.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "fingerprint" : {
+ "description" : "Certificate SHA 256 fingerprint.",
+ "optional" : 1,
+ "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
+ "type" : "string"
+ },
+ "include-statistics" : {
+ "description" : "Include statistics in scheduled backups",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "keep-daily" : {
+ "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<N>"
+ },
+ "keep-hourly" : {
+ "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<N>"
+ },
+ "keep-last" : {
+ "description" : "Keep the last <N> backups.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<N>"
+ },
+ "keep-monthly" : {
+ "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<N>"
+ },
+ "keep-weekly" : {
+ "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<N>"
+ },
+ "keep-yearly" : {
+ "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<N>"
+ },
+ "notify" : {
+ "description" : "Specify when to notify via e-mail",
+ "enum" : [
+ "always",
+ "error",
+ "never"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "password" : {
+ "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "server" : {
+ "description" : "Proxmox Backup Server address.",
+ "format" : "address",
+ "maxLength" : 256,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "username" : {
+ "description" : "Username or API token ID on the Proxmox Backup Server",
+ "maxLength" : 512,
+ "minLength" : 3,
+ "optional" : 1,
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/pbs/{remote}",
+ "text" : "{remote}"
+ }
+ ],
"info" : {
"GET" : {
- "description" : "Read virusquar configuration properties.",
+ "allowtoken" : 1,
+ "description" : "List all configured Proxmox Backup Server instances.",
"method" : "GET",
- "name" : "read_virusquar_section",
+ "name" : "list",
"parameters" : {
"additionalProperties" : 0
},
"audit"
]
},
+ "protected" : 1,
"proxyto" : "master",
"returns" : {
- "type" : "object"
+ "items" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "datastore" : {
+ "description" : "Proxmox Backup Server datastore name.",
+ "optional" : 0,
+ "type" : "string"
+ },
+ "disable" : {
+ "description" : "Flag to disable (deactivate) the entry.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "fingerprint" : {
+ "description" : "Certificate SHA 256 fingerprint.",
+ "optional" : 1,
+ "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
+ "type" : "string"
+ },
+ "include-statistics" : {
+ "description" : "Include statistics in scheduled backups",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "keep-daily" : {
+ "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "keep-hourly" : {
+ "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "keep-last" : {
+ "description" : "Keep the last <N> backups.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "keep-monthly" : {
+ "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "keep-weekly" : {
+ "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "keep-yearly" : {
+ "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "notify" : {
+ "description" : "Specify when to notify via e-mail",
+ "enum" : [
+ "always",
+ "error",
+ "never"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "password" : {
+ "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
+ "type" : "string"
+ },
+ "server" : {
+ "description" : "Proxmox Backup Server address.",
+ "format" : "address",
+ "maxLength" : 256,
+ "optional" : 0,
+ "type" : "string"
+ },
+ "username" : {
+ "description" : "Username or API token ID on the Proxmox Backup Server",
+ "maxLength" : 512,
+ "minLength" : 3,
+ "optional" : 1,
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{remote}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
}
},
- "PUT" : {
- "description" : "Update virusquar configuration properties.",
- "method" : "PUT",
- "name" : "update_virusquar_section",
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Add Proxmox Backup Server remote instance.",
+ "method" : "POST",
+ "name" : "create",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "allowhrefs" : {
- "default" : 1,
- "description" : "Allow to view hyperlinks.",
+ "datastore" : {
+ "description" : "Proxmox Backup Server datastore name.",
+ "optional" : 0,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "disable" : {
+ "description" : "Flag to disable (deactivate) the entry.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
},
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
- "maxLength" : 4096,
+ "fingerprint" : {
+ "description" : "Certificate SHA 256 fingerprint.",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
+ "type" : "string"
},
- "digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "include-statistics" : {
+ "description" : "Include statistics in scheduled backups",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
- "lifetime" : {
- "default" : 7,
- "description" : "Quarantine life time (days)",
- "minimum" : 1,
+ "keep-daily" : {
+ "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
"optional" : 1,
"type" : "integer",
- "typetext" : "<integer> (1 - N)"
+ "typetext" : "<N>"
},
- "viewimages" : {
- "default" : 1,
- "description" : "Allow to view images.",
+ "keep-hourly" : {
+ "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<N>"
+ },
+ "keep-last" : {
+ "description" : "Keep the last <N> backups.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<N>"
+ },
+ "keep-monthly" : {
+ "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<N>"
+ },
+ "keep-weekly" : {
+ "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<N>"
+ },
+ "keep-yearly" : {
+ "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<N>"
+ },
+ "notify" : {
+ "description" : "Specify when to notify via e-mail",
+ "enum" : [
+ "always",
+ "error",
+ "never"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "password" : {
+ "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- }
- },
- "type" : "object"
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "master",
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 1,
- "path" : "/config/virusquar",
- "text" : "virusquar"
- },
- {
- "info" : {
- "POST" : {
- "description" : "Test Regex",
- "method" : "POST",
- "name" : "regextest",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "regex" : {
- "description" : "The Regex to test",
- "maxLength" : 1024,
"type" : "string",
"typetext" : "<string>"
},
- "text" : {
- "description" : "The String to test",
- "maxLength" : 1024,
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "server" : {
+ "description" : "Proxmox Backup Server address.",
+ "format" : "address",
+ "maxLength" : 256,
+ "optional" : 0,
"type" : "string",
"typetext" : "<string>"
+ },
+ "username" : {
+ "description" : "Username or API token ID on the Proxmox Backup Server",
+ "maxLength" : 512,
+ "minLength" : 3,
+ "optional" : 1,
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
- }
+ },
+ "type" : "object"
},
"permissions" : {
"check" : [
- "admin",
- "qmanager",
- "audit"
+ "admin"
]
},
- "protected" : 0,
+ "protected" : 1,
+ "proxyto" : "master",
"returns" : {
- "type" : "number"
+ "type" : "null"
}
}
},
- "leaf" : 1,
- "path" : "/config/regextest",
- "text" : "regextest"
- }
- ],
- "info" : {
- "GET" : {
- "description" : "Directory index.",
- "method" : "GET",
- "name" : "index",
- "parameters" : {
- "additionalProperties" : 0
- },
- "returns" : {
- "items" : {
- "properties" : {
- "section" : {
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{section}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/config",
- "text" : "config"
- },
- {
- "children" : [
+ "leaf" : 0,
+ "path" : "/config/pbs",
+ "text" : "pbs"
+ },
{
"children" : [
{
"children" : [
{
"info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete ACME plugin configuration.",
+ "method" : "DELETE",
+ "name" : "delete_plugin",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "id" : {
+ "description" : "Unique identifier for ACME plugin instance.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
"GET" : {
- "description" : "Print Postfix queue domain and age distribution.",
+ "allowtoken" : 1,
+ "description" : "Get ACME plugin configuration.",
"method" : "GET",
- "name" : "qshape",
+ "name" : "get_plugin_config",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
+ "id" : {
+ "description" : "Unique identifier for ACME plugin instance.",
+ "format" : "pve-configid",
"type" : "string",
"typetext" : "<string>"
- },
- "queue" : {
- "default" : "deferred",
- "description" : "Postfix queue name.",
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update ACME plugin configuration.",
+ "method" : "PUT",
+ "name" : "update_plugin",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "api" : {
+ "description" : "API plugin name",
"enum" : [
- "deferred",
- "active",
- "incoming",
- "hold"
+ "1984hosting",
+ "acmedns",
+ "acmeproxy",
+ "active24",
+ "ad",
+ "ali",
+ "anx",
+ "arvan",
+ "aurora",
+ "autodns",
+ "aws",
+ "azure",
+ "cf",
+ "clouddns",
+ "cloudns",
+ "cn",
+ "conoha",
+ "constellix",
+ "cx",
+ "cyon",
+ "da",
+ "ddnss",
+ "desec",
+ "df",
+ "dgon",
+ "dnsimple",
+ "do",
+ "doapi",
+ "domeneshop",
+ "dp",
+ "dpi",
+ "dreamhost",
+ "duckdns",
+ "durabledns",
+ "dyn",
+ "dynu",
+ "dynv6",
+ "easydns",
+ "edgedns",
+ "euserv",
+ "exoscale",
+ "freedns",
+ "gandi_livedns",
+ "gcloud",
+ "gd",
+ "gdnsdk",
+ "he",
+ "hetzner",
+ "hexonet",
+ "hostingde",
+ "huaweicloud",
+ "infoblox",
+ "infomaniak",
+ "internetbs",
+ "inwx",
+ "ionos",
+ "ispconfig",
+ "jd",
+ "joker",
+ "kappernet",
+ "kas",
+ "kinghost",
+ "knot",
+ "leaseweb",
+ "lexicon",
+ "linode",
+ "linode_v4",
+ "loopia",
+ "lua",
+ "maradns",
+ "me",
+ "miab",
+ "misaka",
+ "myapi",
+ "mydevil",
+ "mydnsjp",
+ "namecheap",
+ "namecom",
+ "namesilo",
+ "nederhost",
+ "neodigit",
+ "netcup",
+ "netlify",
+ "nic",
+ "njalla",
+ "nm",
+ "nsd",
+ "nsone",
+ "nsupdate",
+ "nw",
+ "one",
+ "online",
+ "openprovider",
+ "openstack",
+ "opnsense",
+ "ovh",
+ "pdns",
+ "pleskxml",
+ "pointhq",
+ "porkbun",
+ "rackcorp",
+ "rackspace",
+ "rcode0",
+ "regru",
+ "scaleway",
+ "schlundtech",
+ "selectel",
+ "servercow",
+ "simply",
+ "tele3",
+ "transip",
+ "ultra",
+ "unoeuro",
+ "variomedia",
+ "vscale",
+ "vultr",
+ "websupport",
+ "world4you",
+ "yandex",
+ "zilore",
+ "zone",
+ "zonomi"
],
"optional" : 1,
"type" : "string"
+ },
+ "data" : {
+ "description" : "DNS plugin data. (base64 encoded)",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "disable" : {
+ "description" : "Flag to disable the config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "id" : {
+ "description" : "ACME Plugin ID name",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "nodes" : {
+ "description" : "List of cluster node names.",
+ "format" : "pve-node-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "validation-delay" : {
+ "default" : 30,
+ "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
+ "maximum" : 172800,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 172800)"
}
- }
+ },
+ "type" : "object"
},
"permissions" : {
"check" : [
- "admin",
- "audit"
+ "admin"
]
},
"protected" : 1,
- "proxyto" : "node",
"returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
- },
- "type" : "array"
+ "type" : "null"
}
}
},
"leaf" : 1,
- "path" : "/nodes/{node}/postfix/qshape",
- "text" : "qshape"
+ "path" : "/config/acme/plugins/{id}",
+ "text" : "{id}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "ACME plugin index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "type" : {
+ "description" : "Only list ACME plugins of a specific type",
+ "enum" : [
+ "dns",
+ "standalone"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "plugin" : {
+ "description" : "Unique identifier for ACME plugin instance.",
+ "format" : "pve-configid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{plugin}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
},
- {
- "children" : [
- {
- "children" : [
- {
- "info" : {
- "DELETE" : {
- "description" : "Delete one message with the named queue ID.",
- "method" : "DELETE",
- "name" : "delete_queued_mail",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "queue" : {
- "description" : "Postfix queue name.",
- "enum" : [
- "deferred",
- "active",
- "incoming",
- "hold"
- ],
- "type" : "string"
- },
- "queue_id" : {
- "description" : "The Message queue ID.",
- "maxLength" : 20,
- "minLength" : 8,
- "pattern" : "[a-zA-Z0-9]+",
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
- },
- "GET" : {
- "description" : "Get the contents of a queued mail.",
- "method" : "GET",
- "name" : "read_queued_mail",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "body" : {
- "default" : 0,
- "description" : "Include body content.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "header" : {
- "default" : 1,
- "description" : "Show message header content.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "queue" : {
- "description" : "Postfix queue name.",
- "enum" : [
- "deferred",
- "active",
- "incoming",
- "hold"
- ],
- "type" : "string"
- },
- "queue_id" : {
- "description" : "The Message queue ID.",
- "maxLength" : 20,
- "minLength" : 8,
- "pattern" : "[a-zA-Z0-9]+",
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "string"
- }
- },
- "POST" : {
- "description" : "Schedule immediate delivery of deferred mail with the specified queue ID.",
- "method" : "POST",
- "name" : "flush_queued_mail",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "queue" : {
- "description" : "Postfix queue name.",
- "enum" : [
- "deferred",
- "active",
- "incoming",
- "hold"
- ],
- "type" : "string"
- },
- "queue_id" : {
- "description" : "The Message queue ID.",
- "maxLength" : 20,
- "minLength" : 8,
- "pattern" : "[a-zA-Z0-9]+",
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
- }
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Add ACME plugin configuration.",
+ "method" : "POST",
+ "name" : "add_plugin",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "api" : {
+ "description" : "API plugin name",
+ "enum" : [
+ "1984hosting",
+ "acmedns",
+ "acmeproxy",
+ "active24",
+ "ad",
+ "ali",
+ "anx",
+ "arvan",
+ "aurora",
+ "autodns",
+ "aws",
+ "azure",
+ "cf",
+ "clouddns",
+ "cloudns",
+ "cn",
+ "conoha",
+ "constellix",
+ "cx",
+ "cyon",
+ "da",
+ "ddnss",
+ "desec",
+ "df",
+ "dgon",
+ "dnsimple",
+ "do",
+ "doapi",
+ "domeneshop",
+ "dp",
+ "dpi",
+ "dreamhost",
+ "duckdns",
+ "durabledns",
+ "dyn",
+ "dynu",
+ "dynv6",
+ "easydns",
+ "edgedns",
+ "euserv",
+ "exoscale",
+ "freedns",
+ "gandi_livedns",
+ "gcloud",
+ "gd",
+ "gdnsdk",
+ "he",
+ "hetzner",
+ "hexonet",
+ "hostingde",
+ "huaweicloud",
+ "infoblox",
+ "infomaniak",
+ "internetbs",
+ "inwx",
+ "ionos",
+ "ispconfig",
+ "jd",
+ "joker",
+ "kappernet",
+ "kas",
+ "kinghost",
+ "knot",
+ "leaseweb",
+ "lexicon",
+ "linode",
+ "linode_v4",
+ "loopia",
+ "lua",
+ "maradns",
+ "me",
+ "miab",
+ "misaka",
+ "myapi",
+ "mydevil",
+ "mydnsjp",
+ "namecheap",
+ "namecom",
+ "namesilo",
+ "nederhost",
+ "neodigit",
+ "netcup",
+ "netlify",
+ "nic",
+ "njalla",
+ "nm",
+ "nsd",
+ "nsone",
+ "nsupdate",
+ "nw",
+ "one",
+ "online",
+ "openprovider",
+ "openstack",
+ "opnsense",
+ "ovh",
+ "pdns",
+ "pleskxml",
+ "pointhq",
+ "porkbun",
+ "rackcorp",
+ "rackspace",
+ "rcode0",
+ "regru",
+ "scaleway",
+ "schlundtech",
+ "selectel",
+ "servercow",
+ "simply",
+ "tele3",
+ "transip",
+ "ultra",
+ "unoeuro",
+ "variomedia",
+ "vscale",
+ "vultr",
+ "websupport",
+ "world4you",
+ "yandex",
+ "zilore",
+ "zone",
+ "zonomi"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "data" : {
+ "description" : "DNS plugin data. (base64 encoded)",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "disable" : {
+ "description" : "Flag to disable the config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "id" : {
+ "description" : "ACME Plugin ID name",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "nodes" : {
+ "description" : "List of cluster node names.",
+ "format" : "pve-node-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "ACME challenge type.",
+ "enum" : [
+ "dns",
+ "standalone"
+ ],
+ "type" : "string"
+ },
+ "validation-delay" : {
+ "default" : 30,
+ "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
+ "maximum" : 172800,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 172800)"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/config/acme/plugins",
+ "text" : "plugins"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Deactivate existing ACME account at CA.",
+ "method" : "DELETE",
+ "name" : "deactivate_account",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "force" : {
+ "default" : 0,
+ "description" : "Delete account data even if the server refuses to deactivate the account.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
- "leaf" : 1,
- "path" : "/nodes/{node}/postfix/queue/{queue}/{queue_id}",
- "text" : "{queue_id}"
+ "name" : {
+ "default" : "default",
+ "description" : "ACME account config file name.",
+ "format" : "pve-configid",
+ "format_description" : "name",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<name>"
+ }
}
- ],
- "info" : {
- "DELETE" : {
- "description" : "Delete all mails in the queue.",
- "method" : "DELETE",
- "name" : "delete_queue",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "queue" : {
- "description" : "Postfix queue name.",
- "enum" : [
- "deferred",
- "active",
- "incoming",
- "hold"
- ],
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "string"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Return existing ACME account information.",
+ "method" : "GET",
+ "name" : "get_account",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "name" : {
+ "default" : "default",
+ "description" : "ACME account config file name.",
+ "format" : "pve-configid",
+ "format_description" : "name",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<name>"
+ }
+ }
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "account" : {
+ "optional" : 1,
+ "renderer" : "yaml",
+ "type" : "object"
+ },
+ "directory" : {
+ "description" : "URL of ACME CA directory endpoint.",
+ "optional" : 1,
+ "pattern" : "^https?://.*",
+ "type" : "string"
+ },
+ "location" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "tos" : {
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
+ "method" : "PUT",
+ "name" : "update_account",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "contact" : {
+ "description" : "Contact email addresses.",
+ "format" : "email-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "name" : {
+ "default" : "default",
+ "description" : "ACME account config file name.",
+ "format" : "pve-configid",
+ "format_description" : "name",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<name>"
}
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/acme/account/{name}",
+ "text" : "{name}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "ACME account index.",
+ "method" : "GET",
+ "name" : "account_index",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Register a new ACME account with CA.",
+ "method" : "POST",
+ "name" : "register_account",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "contact" : {
+ "description" : "Contact email addresses.",
+ "format" : "email-list",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "directory" : {
+ "default" : "https://acme-v02.api.letsencrypt.org/directory",
+ "description" : "URL of ACME CA directory endpoint.",
+ "optional" : 1,
+ "pattern" : "^https?://.*",
+ "type" : "string"
+ },
+ "name" : {
+ "default" : "default",
+ "description" : "ACME account config file name.",
+ "format" : "pve-configid",
+ "format_description" : "name",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<name>"
+ },
+ "tos_url" : {
+ "description" : "URL of CA TermsOfService - setting this indicates agreement.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/config/acme/account",
+ "text" : "account"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Retrieve ACME TermsOfService URL from CA.",
+ "method" : "GET",
+ "name" : "get_tos",
+ "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" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "description" : "ACME TermsOfService URL.",
+ "optional" : 1,
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/acme/tos",
+ "text" : "tos"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get named known ACME directory endpoints.",
+ "method" : "GET",
+ "name" : "get_directories",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "url" : {
+ "description" : "URL of ACME CA directory endpoint.",
+ "pattern" : "^https?://.*",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/acme/directories",
+ "text" : "directories"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get schema of ACME challenge types.",
+ "method" : "GET",
+ "name" : "challenge-schema",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "id" : {
+ "type" : "string"
+ },
+ "name" : {
+ "description" : "Human readable name, falls back to id",
+ "type" : "string"
},
+ "schema" : {
+ "type" : "object"
+ },
+ "type" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/acme/challenge-schema",
+ "text" : "challenge-schema"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "ACME index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/config/acme",
+ "text" : "acme"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read admin configuration properties.",
+ "method" : "GET",
+ "name" : "read_admin_section",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update admin configuration properties.",
+ "method" : "PUT",
+ "name" : "update_admin_section",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "advfilter" : {
+ "default" : 1,
+ "description" : "Use advanced filters for statistic.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "avast" : {
+ "default" : 0,
+ "description" : "Use Avast Virus Scanner (/usr/bin/scan). You need to buy and install 'Avast Core Security' before you can enable this feature.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "clamav" : {
+ "default" : 1,
+ "description" : "Use ClamAV Virus Scanner. This is the default virus scanner and is enabled by default.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "custom_check" : {
+ "default" : 0,
+ "description" : "Use Custom Check Script. The script has to take the defined arguments and can return Virus findings or a Spamscore.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "custom_check_path" : {
+ "default" : "/usr/local/bin/pmg-custom-check",
+ "description" : "Absolute Path to the Custom Check Script",
+ "optional" : 1,
+ "pattern" : "^/([^/\\0]+\\/)+[^/\\0]+$",
+ "type" : "string"
+ },
+ "dailyreport" : {
+ "default" : 1,
+ "description" : "Send daily reports.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "demo" : {
+ "default" : 0,
+ "description" : "Demo mode - do not start SMTP filter.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "dkim_selector" : {
+ "description" : "Default DKIM selector",
+ "format" : "dns-name",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "dkim_sign" : {
+ "default" : 0,
+ "description" : "DKIM sign outbound mails with the configured Selector.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "dkim_sign_all_mail" : {
+ "default" : 0,
+ "description" : "DKIM sign all outgoing mails irrespective of the Envelope From domain.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "email" : {
+ "default" : "admin@domain.tld",
+ "description" : "Administrator E-Mail address.",
+ "format" : "email",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "http_proxy" : {
+ "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
+ "optional" : 1,
+ "pattern" : "http://.*",
+ "type" : "string"
+ },
+ "statlifetime" : {
+ "default" : 7,
+ "description" : "User Statistics Lifetime (days)",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/admin",
+ "text" : "admin"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read clamav configuration properties.",
+ "method" : "GET",
+ "name" : "read_clamav_section",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update clamav configuration properties.",
+ "method" : "PUT",
+ "name" : "update_clamav_section",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "archiveblockencrypted" : {
+ "default" : 0,
+ "description" : "Whether to mark encrypted archives and documents as heuristic virus match. A match does not necessarily result in an immediate block, it just raises the Spam Score by 'clamav_heuristic_score'.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "archivemaxfiles" : {
+ "default" : 1000,
+ "description" : "Number of files to be scanned within an archive, a document, or any other kind of container. Warning: disabling this limit or setting it too high may result in severe damage to the system.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "archivemaxrec" : {
+ "default" : 5,
+ "description" : "Nested archives are scanned recursively, e.g. if a ZIP archive contains a TAR file, all files within it will also be scanned. This options specifies how deeply the process should be continued. Warning: setting this limit too high may result in severe damage to the system.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "archivemaxsize" : {
+ "default" : 25000000,
+ "description" : "Files larger than this limit (in bytes) won't be scanned.",
+ "minimum" : 1000000,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1000000 - N)"
+ },
+ "dbmirror" : {
+ "default" : "database.clamav.net",
+ "description" : "ClamAV database mirror server.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "maxcccount" : {
+ "default" : 0,
+ "description" : "This option sets the lowest number of Credit Card or Social Security numbers found in a file to generate a detect.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "maxscansize" : {
+ "default" : 100000000,
+ "description" : "Sets the maximum amount of data (in bytes) to be scanned for each input file.",
+ "minimum" : 1000000,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1000000 - N)"
+ },
+ "safebrowsing" : {
+ "default" : 0,
+ "description" : "Enables support for Google Safe Browsing. (deprecated option, will be ignored)",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "scriptedupdates" : {
+ "default" : 0,
+ "description" : "Enables ScriptedUpdates (incremental download of signatures)",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/clamav",
+ "text" : "clamav"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read mail configuration properties.",
+ "method" : "GET",
+ "name" : "read_mail_section",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update mail configuration properties.",
+ "method" : "PUT",
+ "name" : "update_mail_section",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "banner" : {
+ "default" : "ESMTP Proxmox",
+ "description" : "ESMTP banner.",
+ "maxLength" : 1024,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "before_queue_filtering" : {
+ "default" : 0,
+ "description" : "Enable before queue filtering by pmg-smtp-filter",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "conn_count_limit" : {
+ "default" : 50,
+ "description" : "How many simultaneous connections any client is allowed to make to this service. To disable this feature, specify a limit of 0.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "conn_rate_limit" : {
+ "default" : 0,
+ "description" : "The maximal number of connection attempts any client is allowed to make to this service per minute. To disable this feature, specify a limit of 0.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "dnsbl_sites" : {
+ "description" : "Optional list of DNS white/blacklist domains (see postscreen_dnsbl_sites parameter).",
+ "format" : "dnsbl-entry-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "dnsbl_threshold" : {
+ "default" : 1,
+ "description" : "The inclusive lower bound for blocking a remote SMTP client, based on its combined DNSBL score (see postscreen_dnsbl_threshold parameter).",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "dwarning" : {
+ "default" : 4,
+ "description" : "SMTP delay warning time (in hours).",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "ext_port" : {
+ "default" : 25,
+ "description" : "SMTP port number for incoming mail (untrusted). This must be a different number than 'int_port'.",
+ "maximum" : 65535,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 65535)"
+ },
+ "greylist" : {
+ "default" : 1,
+ "description" : "Use Greylisting for IPv4.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "greylist6" : {
+ "default" : 0,
+ "description" : "Use Greylisting for IPv6.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "greylistmask4" : {
+ "default" : 24,
+ "description" : "Netmask to apply for greylisting IPv4 hosts",
+ "maximum" : 32,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 32)"
+ },
+ "greylistmask6" : {
+ "default" : 64,
+ "description" : "Netmask to apply for greylisting IPv6 hosts",
+ "maximum" : 128,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 128)"
+ },
+ "helotests" : {
+ "default" : 0,
+ "description" : "Use SMTP HELO tests.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "hide_received" : {
+ "default" : 0,
+ "description" : "Hide received header in outgoing mails.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "int_port" : {
+ "default" : 26,
+ "description" : "SMTP port number for outgoing mail (trusted).",
+ "maximum" : 65535,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 65535)"
+ },
+ "max_filters" : {
+ "default" : 38,
+ "description" : "Maximum number of pmg-smtp-filter processes.",
+ "maximum" : 40,
+ "minimum" : 3,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (3 - 40)"
+ },
+ "max_policy" : {
+ "default" : 5,
+ "description" : "Maximum number of pmgpolicy processes.",
+ "maximum" : 10,
+ "minimum" : 2,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (2 - 10)"
+ },
+ "max_smtpd_in" : {
+ "default" : 100,
+ "description" : "Maximum number of SMTP daemon processes (in).",
+ "maximum" : 100,
+ "minimum" : 3,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (3 - 100)"
+ },
+ "max_smtpd_out" : {
+ "default" : 100,
+ "description" : "Maximum number of SMTP daemon processes (out).",
+ "maximum" : 100,
+ "minimum" : 3,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (3 - 100)"
+ },
+ "maxsize" : {
+ "default" : 10485760,
+ "description" : "Maximum email size. Larger mails are rejected.",
+ "minimum" : 1024,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1024 - N)"
+ },
+ "message_rate_limit" : {
+ "default" : 0,
+ "description" : "The maximal number of message delivery requests that any client is allowed to make to this service per minute.To disable this feature, specify a limit of 0.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "ndr_on_block" : {
+ "default" : 0,
+ "description" : "Send out NDR when mail gets blocked",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "rejectunknown" : {
+ "default" : 0,
+ "description" : "Reject unknown clients.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "rejectunknownsender" : {
+ "default" : 0,
+ "description" : "Reject unknown senders.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "relay" : {
+ "description" : "The default mail delivery transport (incoming mails).",
+ "format" : "address",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "relaynomx" : {
+ "default" : 0,
+ "description" : "Disable MX lookups for default relay (SMTP only, ignored for LMTP).",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "relayport" : {
+ "default" : 25,
+ "description" : "SMTP/LMTP port number for relay host.",
+ "maximum" : 65535,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 65535)"
+ },
+ "relayprotocol" : {
+ "default" : "smtp",
+ "description" : "Transport protocol for relay host.",
+ "enum" : [
+ "smtp",
+ "lmtp"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "smarthost" : {
+ "description" : "When set, all outgoing mails are deliverd to the specified smarthost.",
+ "format" : "address",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "smarthostport" : {
+ "default" : 25,
+ "description" : "SMTP port number for smarthost.",
+ "maximum" : 65535,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 65535)"
+ },
+ "spf" : {
+ "default" : 1,
+ "description" : "Use Sender Policy Framework.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "tls" : {
+ "default" : 0,
+ "description" : "Enable TLS.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "tlsheader" : {
+ "default" : 0,
+ "description" : "Add TLS received header.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "tlslog" : {
+ "default" : 0,
+ "description" : "Enable TLS Logging.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "verifyreceivers" : {
+ "description" : "Enable receiver verification. The value spefifies the numerical reply code when the Postfix SMTP server rejects a recipient address.",
+ "enum" : [
+ "450",
+ "550"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/mail",
+ "text" : "mail"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read spam configuration properties.",
+ "method" : "GET",
+ "name" : "read_spam_section",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update spam configuration properties.",
+ "method" : "PUT",
+ "name" : "update_spam_section",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "bounce_score" : {
+ "default" : 0,
+ "description" : "Additional score for bounce mails.",
+ "maximum" : 1000,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 1000)"
+ },
+ "clamav_heuristic_score" : {
+ "default" : 3,
+ "description" : "Score for ClamAV heuristics (Encrypted Archives/Documents, PhishingScanURLs, ...).",
+ "maximum" : 1000,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 1000)"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "languages" : {
+ "default" : "all",
+ "description" : "This option is used to specify which languages are considered OK for incoming mail.",
+ "optional" : 1,
+ "pattern" : "(all|([a-z][a-z])+( ([a-z][a-z])+)*)",
+ "type" : "string"
+ },
+ "maxspamsize" : {
+ "default" : 262144,
+ "description" : "Maximum size of spam messages in bytes.",
+ "minimum" : 64,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (64 - N)"
+ },
+ "rbl_checks" : {
+ "default" : 1,
+ "description" : "Enable real time blacklists (RBL) checks.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "use_awl" : {
+ "default" : 1,
+ "description" : "Use the Auto-Whitelist plugin.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "use_bayes" : {
+ "default" : 1,
+ "description" : "Whether to use the naive-Bayesian-style classifier.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "use_razor" : {
+ "default" : 1,
+ "description" : "Whether to use Razor2, if it is available.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "wl_bounce_relays" : {
+ "description" : "Whitelist legitimate bounce relays.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/spam",
+ "text" : "spam"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read spamquar configuration properties.",
+ "method" : "GET",
+ "name" : "read_spamquar_section",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update spamquar configuration properties.",
+ "method" : "PUT",
+ "name" : "update_spamquar_section",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "allowhrefs" : {
+ "default" : 1,
+ "description" : "Allow to view hyperlinks.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "authmode" : {
+ "default" : "ticket",
+ "description" : "Authentication mode to access the quarantine interface. Mode 'ticket' allows login using tickets sent with the daily spam report. Mode 'ldap' requires to login using an LDAP account. Finally, mode 'ldapticket' allows both ways.",
+ "enum" : [
+ "ticket",
+ "ldap",
+ "ldapticket"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "hostname" : {
+ "description" : "Quarantine Host. Useful if you run a Cluster and want users to connect to a specific host.",
+ "format" : "address",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "lifetime" : {
+ "default" : 7,
+ "description" : "Quarantine life time (days)",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "mailfrom" : {
+ "description" : "Text for 'From' header in daily spam report mails.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "port" : {
+ "default" : 8006,
+ "description" : "Quarantine Port. Useful if you have a reverse proxy or port forwarding for the webinterface. Only used for the generated Spam report.",
+ "maximum" : 65535,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 65535)"
+ },
+ "protocol" : {
+ "default" : "https",
+ "description" : "Quarantine Webinterface Protocol. Useful if you have a reverse proxy for the webinterface. Only used for the generated Spam report.",
+ "enum" : [
+ "http",
+ "https"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "quarantinelink" : {
+ "default" : 0,
+ "description" : "Enables user self-service for Quarantine Links. Caution: this is accessible without authentication",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "reportstyle" : {
+ "default" : "verbose",
+ "description" : "Spam report style.",
+ "enum" : [
+ "none",
+ "short",
+ "verbose",
+ "custom"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "viewimages" : {
+ "default" : 1,
+ "description" : "Allow to view images.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/spamquar",
+ "text" : "spamquar"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read virusquar configuration properties.",
+ "method" : "GET",
+ "name" : "read_virusquar_section",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update virusquar configuration properties.",
+ "method" : "PUT",
+ "name" : "update_virusquar_section",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "allowhrefs" : {
+ "default" : 1,
+ "description" : "Allow to view hyperlinks.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "lifetime" : {
+ "default" : 7,
+ "description" : "Quarantine life time (days)",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "viewimages" : {
+ "default" : 1,
+ "description" : "Allow to view images.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/virusquar",
+ "text" : "virusquar"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Test Regex ignoring case",
+ "method" : "POST",
+ "name" : "regextest",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "regex" : {
+ "description" : "The Regex to test",
+ "maxLength" : 1024,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "text" : {
+ "description" : "The String to test",
+ "maxLength" : 1024,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit"
+ ]
+ },
+ "protected" : 0,
+ "returns" : {
+ "type" : "number"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/regextest",
+ "text" : "regextest"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Directory index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "section" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{section}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/config",
+ "text" : "config"
+ },
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Print Postfix queue domain and age distribution.",
+ "method" : "GET",
+ "name" : "qshape",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "queue" : {
+ "default" : "deferred",
+ "description" : "Postfix queue name.",
+ "enum" : [
+ "deferred",
+ "active",
+ "incoming",
+ "hold"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/postfix/qshape",
+ "text" : "qshape"
+ },
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete one message with the named queue ID.",
+ "method" : "DELETE",
+ "name" : "delete_queued_mail",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "queue" : {
+ "description" : "Postfix queue name.",
+ "enum" : [
+ "deferred",
+ "active",
+ "incoming",
+ "hold"
+ ],
+ "type" : "string"
+ },
+ "queue_id" : {
+ "description" : "The Message queue ID.",
+ "maxLength" : 20,
+ "minLength" : 8,
+ "pattern" : "[a-zA-Z0-9]+",
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get the contents of a queued mail.",
+ "method" : "GET",
+ "name" : "read_queued_mail",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "body" : {
+ "default" : 0,
+ "description" : "Include body content.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "header" : {
+ "default" : 1,
+ "description" : "Show message header content.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "queue" : {
+ "description" : "Postfix queue name.",
+ "enum" : [
+ "deferred",
+ "active",
+ "incoming",
+ "hold"
+ ],
+ "type" : "string"
+ },
+ "queue_id" : {
+ "description" : "The Message queue ID.",
+ "maxLength" : 20,
+ "minLength" : 8,
+ "pattern" : "[a-zA-Z0-9]+",
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Schedule immediate delivery of deferred mail with the specified queue ID.",
+ "method" : "POST",
+ "name" : "flush_queued_mail",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "queue" : {
+ "description" : "Postfix queue name.",
+ "enum" : [
+ "deferred",
+ "active",
+ "incoming",
+ "hold"
+ ],
+ "type" : "string"
+ },
+ "queue_id" : {
+ "description" : "The Message queue ID.",
+ "maxLength" : 20,
+ "minLength" : 8,
+ "pattern" : "[a-zA-Z0-9]+",
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/postfix/queue/{queue}/{queue_id}",
+ "text" : "{queue_id}"
+ }
+ ],
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete all mails in the queue.",
+ "method" : "DELETE",
+ "name" : "delete_queue",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "queue" : {
+ "description" : "Postfix queue name.",
+ "enum" : [
+ "deferred",
+ "active",
+ "incoming",
+ "hold"
+ ],
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "List the mail queue for a specific domain.",
+ "method" : "GET",
+ "name" : "mailq",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "filter" : {
+ "description" : "Filter string.",
+ "maxLength" : 64,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "limit" : {
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "queue" : {
+ "description" : "Postfix queue name.",
+ "enum" : [
+ "deferred",
+ "active",
+ "incoming",
+ "hold"
+ ],
+ "type" : "string"
+ },
+ "sortdir" : {
+ "description" : "Sort direction.",
+ "enum" : [
+ "ASC",
+ "DESC"
+ ],
+ "optional" : 1,
+ "requires" : "sortfield",
+ "type" : "string"
+ },
+ "sortfield" : {
+ "description" : "Sort field.",
+ "enum" : [
+ "arrival_time",
+ "message_size",
+ "sender",
+ "receiver",
+ "reason"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "start" : {
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{queue_id}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/postfix/queue/{queue}",
+ "text" : "{queue}"
+ }
+ ],
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete all mails in all posfix queues.",
+ "method" : "DELETE",
+ "name" : "delete_all_queues",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Directory index.",
+ "method" : "GET",
+ "name" : "queue_index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/postfix/queue",
+ "text" : "queue"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Flush the queue: attempt to deliver all queued mail.",
+ "method" : "POST",
+ "name" : "flush_queues",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/postfix/flush_queues",
+ "text" : "flush_queues"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Discards the address verification cache.",
+ "method" : "POST",
+ "name" : "discard_verify_cache",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/postfix/discard_verify_cache",
+ "text" : "discard_verify_cache"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Directory index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/postfix",
+ "text" : "postfix"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "ClamAV virus database status.",
+ "method" : "GET",
+ "name" : "database_status",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "build_time" : {
+ "type" : "string"
+ },
+ "nsigs" : {
+ "type" : "integer"
+ },
+ "type" : {
+ "type" : "string"
+ },
+ "version" : {
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Update ClamAV virus databases.",
+ "method" : "POST",
+ "name" : "update_database",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/clamav/database",
+ "text" : "database"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Directory index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{subdir}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/clamav",
+ "text" : "clamav"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "SpamAssassin rules status.",
+ "method" : "GET",
+ "name" : "rules_status",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "channel" : {
+ "type" : "string"
+ },
+ "last_updated" : {
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "update_avail" : {
+ "type" : "boolean"
+ },
+ "update_version" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "version" : {
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Update SpamAssassin rules.",
+ "method" : "POST",
+ "name" : "update_rules",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/spamassassin/rules",
+ "text" : "rules"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Directory index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{subdir}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/spamassassin",
+ "text" : "spamassassin"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete network device configuration",
+ "method" : "DELETE",
+ "name" : "delete_network",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "iface" : {
+ "description" : "Network interface name.",
+ "format" : "pve-iface",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read network device configuration",
+ "method" : "GET",
+ "name" : "network_config",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "iface" : {
+ "description" : "Network interface name.",
+ "format" : "pve-iface",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "node",
+ "returns" : {
+ "properties" : {
+ "method" : {
+ "type" : "string"
+ },
+ "type" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update network device configuration",
+ "method" : "PUT",
+ "name" : "update_network",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "address" : {
+ "description" : "IP address.",
+ "format" : "ipv4",
+ "optional" : 1,
+ "requires" : "netmask",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "address6" : {
+ "description" : "IP address.",
+ "format" : "ipv6",
+ "optional" : 1,
+ "requires" : "netmask6",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "autostart" : {
+ "description" : "Automatically start interface on boot.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "bond-primary" : {
+ "description" : "Specify the primary interface for active-backup bond.",
+ "format" : "pve-iface",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "bond_mode" : {
+ "description" : "Bonding mode.",
+ "enum" : [
+ "balance-rr",
+ "active-backup",
+ "balance-xor",
+ "broadcast",
+ "802.3ad",
+ "balance-tlb",
+ "balance-alb",
+ "balance-slb",
+ "lacp-balance-slb",
+ "lacp-balance-tcp"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "bond_xmit_hash_policy" : {
+ "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
+ "enum" : [
+ "layer2",
+ "layer2+3",
+ "layer3+4"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "bridge_ports" : {
+ "description" : "Specify the interfaces you want to add to your bridge.",
+ "format" : "pve-iface-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "bridge_vlan_aware" : {
+ "description" : "Enable bridge vlan support.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "cidr" : {
+ "description" : "IPv4 CIDR.",
+ "format" : "CIDRv4",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "cidr6" : {
+ "description" : "IPv6 CIDR.",
+ "format" : "CIDRv6",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "comments" : {
+ "description" : "Comments",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "comments6" : {
+ "description" : "Comments",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "gateway" : {
+ "description" : "Default gateway address.",
+ "format" : "ipv4",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "gateway6" : {
+ "description" : "Default ipv6 gateway address.",
+ "format" : "ipv6",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "iface" : {
+ "description" : "Network interface name.",
+ "format" : "pve-iface",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "mtu" : {
+ "description" : "MTU.",
+ "maximum" : 65520,
+ "minimum" : 1280,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1280 - 65520)"
+ },
+ "netmask" : {
+ "description" : "Network mask.",
+ "format" : "ipv4mask",
+ "optional" : 1,
+ "requires" : "address",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "netmask6" : {
+ "description" : "Network mask.",
+ "maximum" : 128,
+ "minimum" : 0,
+ "optional" : 1,
+ "requires" : "address6",
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 128)"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ovs_bonds" : {
+ "description" : "Specify the interfaces used by the bonding device.",
+ "format" : "pve-iface-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ovs_bridge" : {
+ "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
+ "format" : "pve-iface",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ovs_options" : {
+ "description" : "OVS interface options.",
+ "maxLength" : 1024,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ovs_ports" : {
+ "description" : "Specify the interfaces you want to add to your bridge.",
+ "format" : "pve-iface-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ovs_tag" : {
+ "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
+ "maximum" : 4094,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 4094)"
+ },
+ "slaves" : {
+ "description" : "Specify the interfaces used by the bonding device.",
+ "format" : "pve-iface-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "Network interface type",
+ "enum" : [
+ "bridge",
+ "bond",
+ "eth",
+ "alias",
+ "vlan",
+ "OVSBridge",
+ "OVSBond",
+ "OVSPort",
+ "OVSIntPort",
+ "unknown"
+ ],
+ "type" : "string"
+ },
+ "vlan-id" : {
+ "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
+ "maximum" : 4094,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 4094)"
+ },
+ "vlan-raw-device" : {
+ "description" : "Specify the raw interface for the vlan interface.",
+ "format" : "pve-iface",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/network/{iface}",
+ "text" : "{iface}"
+ }
+ ],
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Revert network configuration changes.",
+ "method" : "DELETE",
+ "name" : "revert_network_changes",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "List available networks",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "Only list specific interface types.",
+ "enum" : [
+ "bridge",
+ "bond",
+ "eth",
+ "alias",
+ "vlan",
+ "OVSBridge",
+ "OVSBond",
+ "OVSPort",
+ "OVSIntPort",
+ "any_bridge"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{iface}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Create network device configuration",
+ "method" : "POST",
+ "name" : "create_network",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "address" : {
+ "description" : "IP address.",
+ "format" : "ipv4",
+ "optional" : 1,
+ "requires" : "netmask",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "address6" : {
+ "description" : "IP address.",
+ "format" : "ipv6",
+ "optional" : 1,
+ "requires" : "netmask6",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "autostart" : {
+ "description" : "Automatically start interface on boot.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "bond-primary" : {
+ "description" : "Specify the primary interface for active-backup bond.",
+ "format" : "pve-iface",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "bond_mode" : {
+ "description" : "Bonding mode.",
+ "enum" : [
+ "balance-rr",
+ "active-backup",
+ "balance-xor",
+ "broadcast",
+ "802.3ad",
+ "balance-tlb",
+ "balance-alb",
+ "balance-slb",
+ "lacp-balance-slb",
+ "lacp-balance-tcp"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "bond_xmit_hash_policy" : {
+ "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
+ "enum" : [
+ "layer2",
+ "layer2+3",
+ "layer3+4"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "bridge_ports" : {
+ "description" : "Specify the interfaces you want to add to your bridge.",
+ "format" : "pve-iface-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "bridge_vlan_aware" : {
+ "description" : "Enable bridge vlan support.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "cidr" : {
+ "description" : "IPv4 CIDR.",
+ "format" : "CIDRv4",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "cidr6" : {
+ "description" : "IPv6 CIDR.",
+ "format" : "CIDRv6",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "comments" : {
+ "description" : "Comments",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "comments6" : {
+ "description" : "Comments",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "gateway" : {
+ "description" : "Default gateway address.",
+ "format" : "ipv4",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "gateway6" : {
+ "description" : "Default ipv6 gateway address.",
+ "format" : "ipv6",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "iface" : {
+ "description" : "Network interface name.",
+ "format" : "pve-iface",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "mtu" : {
+ "description" : "MTU.",
+ "maximum" : 65520,
+ "minimum" : 1280,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1280 - 65520)"
+ },
+ "netmask" : {
+ "description" : "Network mask.",
+ "format" : "ipv4mask",
+ "optional" : 1,
+ "requires" : "address",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "netmask6" : {
+ "description" : "Network mask.",
+ "maximum" : 128,
+ "minimum" : 0,
+ "optional" : 1,
+ "requires" : "address6",
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 128)"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ovs_bonds" : {
+ "description" : "Specify the interfaces used by the bonding device.",
+ "format" : "pve-iface-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ovs_bridge" : {
+ "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
+ "format" : "pve-iface",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ovs_options" : {
+ "description" : "OVS interface options.",
+ "maxLength" : 1024,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ovs_ports" : {
+ "description" : "Specify the interfaces you want to add to your bridge.",
+ "format" : "pve-iface-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ovs_tag" : {
+ "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
+ "maximum" : 4094,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 4094)"
+ },
+ "slaves" : {
+ "description" : "Specify the interfaces used by the bonding device.",
+ "format" : "pve-iface-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "Network interface type",
+ "enum" : [
+ "bridge",
+ "bond",
+ "eth",
+ "alias",
+ "vlan",
+ "OVSBridge",
+ "OVSBond",
+ "OVSPort",
+ "OVSIntPort",
+ "unknown"
+ ],
+ "type" : "string"
+ },
+ "vlan-id" : {
+ "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
+ "maximum" : 4094,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 4094)"
+ },
+ "vlan-raw-device" : {
+ "description" : "Specify the raw interface for the vlan interface.",
+ "format" : "pve-iface",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/network",
+ "text" : "network"
+ },
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
"GET" : {
- "description" : "List the mail queue for a specific domain.",
+ "allowtoken" : 1,
+ "description" : "Read task log.",
"method" : "GET",
- "name" : "mailq",
+ "name" : "read_task_log",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "filter" : {
- "description" : "Filter string.",
- "maxLength" : 64,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
"limit" : {
"minimum" : 0,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "queue" : {
- "description" : "Postfix queue name.",
- "enum" : [
- "deferred",
- "active",
- "incoming",
- "hold"
- ],
- "type" : "string"
- },
"start" : {
"minimum" : 0,
"optional" : 1,
"type" : "integer",
"typetext" : "<integer> (0 - N)"
+ },
+ "upid" : {
+ "type" : "string",
+ "typetext" : "<string>"
}
}
},
"proxyto" : "node",
"returns" : {
"items" : {
- "properties" : {},
+ "properties" : {
+ "n" : {
+ "description" : "Line number",
+ "type" : "integer"
+ },
+ "t" : {
+ "description" : "Line text",
+ "type" : "string"
+ }
+ },
"type" : "object"
},
- "links" : [
- {
- "href" : "{queue_id}",
- "rel" : "child"
- }
- ],
"type" : "array"
}
}
},
- "leaf" : 0,
- "path" : "/nodes/{node}/postfix/queue/{queue}",
- "text" : "{queue}"
- }
- ],
- "info" : {
- "DELETE" : {
- "description" : "Delete all mails in all posfix queues.",
- "method" : "DELETE",
- "name" : "delete_all_queues",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
- },
- "GET" : {
- "description" : "Directory index.",
- "method" : "GET",
- "name" : "queue_index",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "user" : "all"
- },
- "returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{name}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/nodes/{node}/postfix/queue",
- "text" : "queue"
- },
- {
- "info" : {
- "POST" : {
- "description" : "Flush the queue: attempt to deliver all queued mail.",
- "method" : "POST",
- "name" : "flush_queues",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/postfix/flush_queues",
- "text" : "flush_queues"
- },
- {
- "info" : {
- "POST" : {
- "description" : "Discards the address verification cache.",
- "method" : "POST",
- "name" : "discard_verify_cache",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/postfix/discard_verify_cache",
- "text" : "discard_verify_cache"
- }
- ],
- "info" : {
- "GET" : {
- "description" : "Directory index.",
- "method" : "GET",
- "name" : "index",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "user" : "all"
- },
- "returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{name}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/nodes/{node}/postfix",
- "text" : "postfix"
- },
- {
- "children" : [
- {
- "info" : {
- "GET" : {
- "description" : "ClamAV virus database status.",
- "method" : "GET",
- "name" : "database_status",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
- },
- "proxyto" : "node",
- "returns" : {
- "items" : {
- "properties" : {
- "build_time" : {
- "type" : "string"
- },
- "nsigs" : {
- "type" : "integer"
- },
- "type" : {
- "type" : "string"
- },
- "version" : {
- "optional" : 1,
- "type" : "string"
+ "leaf" : 1,
+ "path" : "/nodes/{node}/tasks/{upid}/log",
+ "text" : "log"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read task status.",
+ "method" : "GET",
+ "name" : "read_task_status",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "upid" : {
+ "type" : "string",
+ "typetext" : "<string>"
+ }
}
},
- "type" : "object"
- },
- "type" : "array"
- }
- },
- "POST" : {
- "description" : "Update ClamAV virus databases.",
- "method" : "POST",
- "name" : "update_database",
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "properties" : {
+ "pid" : {
+ "type" : "integer"
+ },
+ "status" : {
+ "enum" : [
+ "running",
+ "stopped"
+ ],
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/tasks/{upid}/status",
+ "text" : "status"
+ }
+ ],
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Stop a task.",
+ "method" : "DELETE",
+ "name" : "stop_task",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
+ },
+ "upid" : {
+ "type" : "string",
+ "typetext" : "<string>"
}
}
},
"protected" : 1,
"proxyto" : "node",
"returns" : {
- "type" : "string"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/clamav/database",
- "text" : "database"
- }
- ],
- "info" : {
- "GET" : {
- "description" : "Directory index.",
- "method" : "GET",
- "name" : "index",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "null"
}
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
- },
- "returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
},
- "links" : [
- {
- "href" : "{subdir}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/nodes/{node}/clamav",
- "text" : "clamav"
- },
- {
- "children" : [
- {
- "info" : {
"GET" : {
- "description" : "SpamAssassin rules status.",
+ "allowtoken" : 1,
+ "description" : "",
"method" : "GET",
- "name" : "rules_status",
+ "name" : "upid_index",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
+ },
+ "upid" : {
+ "type" : "string",
+ "typetext" : "<string>"
}
}
},
"audit"
]
},
- "proxyto" : "node",
"returns" : {
"items" : {
- "properties" : {
- "channel" : {
- "type" : "string"
- },
- "last_updated" : {
- "optional" : 1,
- "type" : "integer"
- },
- "update_avail" : {
- "type" : "boolean"
- },
- "update_version" : {
- "optional" : 1,
- "type" : "string"
- },
- "version" : {
- "optional" : 1,
- "type" : "string"
- }
- },
+ "properties" : {},
"type" : "object"
},
- "type" : "array"
- }
- },
- "POST" : {
- "description" : "Update SpamAssassin rules.",
- "method" : "POST",
- "name" : "update_rules",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
}
- }
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "string"
+ ],
+ "type" : "array"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/spamassassin/rules",
- "text" : "rules"
+ "leaf" : 0,
+ "path" : "/nodes/{node}/tasks/{upid}",
+ "text" : "{upid}"
}
],
"info" : {
"GET" : {
- "description" : "Directory index.",
+ "allowtoken" : 1,
+ "description" : "Read task list for one node (finished tasks).",
"method" : "GET",
- "name" : "index",
+ "name" : "node_tasks",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "errors" : {
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "limit" : {
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
+ },
+ "since" : {
+ "description" : "Only list tasks since this UNIX epoch.",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "start" : {
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "statusfilter" : {
+ "description" : "List of Task States that should be returned.",
+ "format" : "pve-task-status-type-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "typefilter" : {
+ "description" : "Only list tasks of this type (e.g., aptupdate, saupdate).",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "until" : {
+ "description" : "Only list tasks until this UNIX epoch.",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "userfilter" : {
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
}
}
},
"audit"
]
},
+ "proxyto" : "node",
"returns" : {
"items" : {
- "properties" : {},
+ "properties" : {
+ "upid" : {
+ "type" : "string"
+ }
+ },
"type" : "object"
},
"links" : [
{
- "href" : "{subdir}",
+ "href" : "{upid}",
"rel" : "child"
}
],
}
},
"leaf" : 0,
- "path" : "/nodes/{node}/spamassassin",
- "text" : "spamassassin"
+ "path" : "/nodes/{node}/tasks",
+ "text" : "tasks"
},
{
"children" : [
{
- "info" : {
- "DELETE" : {
- "description" : "Delete network device configuration",
- "method" : "DELETE",
- "name" : "delete_network",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "iface" : {
- "description" : "Network interface name.",
- "format" : "pve-iface",
- "maxLength" : 20,
- "minLength" : 2,
- "type" : "string",
- "typetext" : "<string>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
- },
- "GET" : {
- "description" : "Read network device configuration",
- "method" : "GET",
- "name" : "network_config",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "iface" : {
- "description" : "Network interface name.",
- "format" : "pve-iface",
- "maxLength" : 20,
- "minLength" : 2,
- "type" : "string",
- "typetext" : "<string>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
- },
- "proxyto" : "node",
- "returns" : {
- "properties" : {
- "method" : {
- "type" : "string"
- },
- "type" : {
- "type" : "string"
- }
- },
- "type" : "object"
- }
- },
- "PUT" : {
- "description" : "Update network device configuration",
- "method" : "PUT",
- "name" : "update_network",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "address" : {
- "description" : "IP address.",
- "format" : "ipv4",
- "optional" : 1,
- "requires" : "netmask",
- "type" : "string",
- "typetext" : "<string>"
- },
- "address6" : {
- "description" : "IP address.",
- "format" : "ipv6",
- "optional" : 1,
- "requires" : "netmask6",
- "type" : "string",
- "typetext" : "<string>"
- },
- "autostart" : {
- "description" : "Automatically start interface on boot.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "bond_mode" : {
- "description" : "Bonding mode.",
- "enum" : [
- "balance-rr",
- "active-backup",
- "balance-xor",
- "broadcast",
- "802.3ad",
- "balance-tlb",
- "balance-alb",
- "balance-slb",
- "lacp-balance-slb",
- "lacp-balance-tcp"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "bond_xmit_hash_policy" : {
- "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
- "enum" : [
- "layer2",
- "layer2+3",
- "layer3+4"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "bridge_ports" : {
- "description" : "Specify the iterfaces you want to add to your bridge.",
- "format" : "pve-iface-list",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "bridge_vlan_aware" : {
- "description" : "Enable bridge vlan support.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "comments" : {
- "description" : "Comments",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "comments6" : {
- "description" : "Comments",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "gateway" : {
- "description" : "Default gateway address.",
- "format" : "ipv4",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "gateway6" : {
- "description" : "Default ipv6 gateway address.",
- "format" : "ipv6",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "iface" : {
- "description" : "Network interface name.",
- "format" : "pve-iface",
- "maxLength" : 20,
- "minLength" : 2,
- "type" : "string",
- "typetext" : "<string>"
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read service properties",
+ "method" : "GET",
+ "name" : "service_state",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "service" : {
+ "description" : "Service ID",
+ "enum" : [
+ "clamav-daemon",
+ "clamav-freshclam",
+ "fetchmail",
+ "pmgproxy",
+ "pmgdaemon",
+ "pmgpolicy",
+ "pmg-smtp-filter",
+ "pmgtunnel",
+ "pmgmirror",
+ "ssh",
+ "rsyslog",
+ "postfix",
+ "postgres",
+ "systemd-timesyncd",
+ "pmg-hourly",
+ "pmg-daily",
+ "pmgreport",
+ "pmgspamreport"
+ ],
+ "type" : "string"
+ }
+ }
},
- "netmask" : {
- "description" : "Network mask.",
- "format" : "ipv4mask",
- "optional" : 1,
- "requires" : "address",
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
},
- "netmask6" : {
- "description" : "Network mask.",
- "maximum" : 128,
- "minimum" : 0,
- "optional" : 1,
- "requires" : "address6",
- "type" : "integer",
- "typetext" : "<integer> (0 - 128)"
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/services/{service}/state",
+ "text" : "state"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Start service.",
+ "method" : "POST",
+ "name" : "service_start",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "service" : {
+ "description" : "Service ID",
+ "enum" : [
+ "clamav-daemon",
+ "clamav-freshclam",
+ "fetchmail",
+ "pmgproxy",
+ "pmgdaemon",
+ "pmgpolicy",
+ "pmg-smtp-filter",
+ "pmgtunnel",
+ "pmgmirror",
+ "ssh",
+ "rsyslog",
+ "postfix",
+ "postgres",
+ "systemd-timesyncd",
+ "pmg-hourly",
+ "pmg-daily",
+ "pmgreport",
+ "pmgspamreport"
+ ],
+ "type" : "string"
+ }
+ }
},
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
},
- "ovs_bonds" : {
- "description" : "Specify the interfaces used by the bonding device.",
- "format" : "pve-iface-list",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/services/{service}/start",
+ "text" : "start"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Stop service.",
+ "method" : "POST",
+ "name" : "service_stop",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "service" : {
+ "description" : "Service ID",
+ "enum" : [
+ "clamav-daemon",
+ "clamav-freshclam",
+ "fetchmail",
+ "pmgproxy",
+ "pmgdaemon",
+ "pmgpolicy",
+ "pmg-smtp-filter",
+ "pmgtunnel",
+ "pmgmirror",
+ "ssh",
+ "rsyslog",
+ "postfix",
+ "postgres",
+ "systemd-timesyncd",
+ "pmg-hourly",
+ "pmg-daily",
+ "pmgreport",
+ "pmgspamreport"
+ ],
+ "type" : "string"
+ }
+ }
},
- "ovs_bridge" : {
- "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
- "format" : "pve-iface",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
},
- "ovs_options" : {
- "description" : "OVS interface options.",
- "maxLength" : 1024,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/services/{service}/stop",
+ "text" : "stop"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Restart service.",
+ "method" : "POST",
+ "name" : "service_restart",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "service" : {
+ "description" : "Service ID",
+ "enum" : [
+ "clamav-daemon",
+ "clamav-freshclam",
+ "fetchmail",
+ "pmgproxy",
+ "pmgdaemon",
+ "pmgpolicy",
+ "pmg-smtp-filter",
+ "pmgtunnel",
+ "pmgmirror",
+ "ssh",
+ "rsyslog",
+ "postfix",
+ "postgres",
+ "systemd-timesyncd",
+ "pmg-hourly",
+ "pmg-daily",
+ "pmgreport",
+ "pmgspamreport"
+ ],
+ "type" : "string"
+ }
+ }
},
- "ovs_ports" : {
- "description" : "Specify the iterfaces you want to add to your bridge.",
- "format" : "pve-iface-list",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
},
- "ovs_tag" : {
- "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
- "maximum" : 4094,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 4094)"
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/services/{service}/restart",
+ "text" : "restart"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Reload service.",
+ "method" : "POST",
+ "name" : "service_reload",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "service" : {
+ "description" : "Service ID",
+ "enum" : [
+ "clamav-daemon",
+ "clamav-freshclam",
+ "fetchmail",
+ "pmgproxy",
+ "pmgdaemon",
+ "pmgpolicy",
+ "pmg-smtp-filter",
+ "pmgtunnel",
+ "pmgmirror",
+ "ssh",
+ "rsyslog",
+ "postfix",
+ "postgres",
+ "systemd-timesyncd",
+ "pmg-hourly",
+ "pmg-daily",
+ "pmgreport",
+ "pmgspamreport"
+ ],
+ "type" : "string"
+ }
+ }
},
- "slaves" : {
- "description" : "Specify the interfaces used by the bonding device.",
- "format" : "pve-iface-list",
- "optional" : 1,
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/services/{service}/reload",
+ "text" : "reload"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Directory index",
+ "method" : "GET",
+ "name" : "srvcmdidx",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
},
- "type" : {
- "description" : "Network interface type",
+ "service" : {
+ "description" : "Service ID",
"enum" : [
- "bridge",
- "bond",
- "eth",
- "alias",
- "vlan",
- "OVSBridge",
- "OVSBond",
- "OVSPort",
- "OVSIntPort",
- "unknown"
+ "clamav-daemon",
+ "clamav-freshclam",
+ "fetchmail",
+ "pmgproxy",
+ "pmgdaemon",
+ "pmgpolicy",
+ "pmg-smtp-filter",
+ "pmgtunnel",
+ "pmgmirror",
+ "ssh",
+ "rsyslog",
+ "postfix",
+ "postgres",
+ "systemd-timesyncd",
+ "pmg-hourly",
+ "pmg-daily",
+ "pmgreport",
+ "pmgspamreport"
],
"type" : "string"
}
}
},
- "protected" : 1,
- "proxyto" : "node",
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
"returns" : {
- "type" : "null"
+ "items" : {
+ "properties" : {
+ "subdir" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{subdir}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/network/{iface}",
- "text" : "{iface}"
+ "leaf" : 0,
+ "path" : "/nodes/{node}/services/{service}",
+ "text" : "{service}"
}
],
"info" : {
- "DELETE" : {
- "description" : "Revert network configuration changes.",
- "method" : "DELETE",
- "name" : "revert_network_changes",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
- },
"GET" : {
- "description" : "List available networks",
+ "allowtoken" : 1,
+ "description" : "Service list.",
"method" : "GET",
"name" : "index",
"parameters" : {
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
- },
- "type" : {
- "description" : "Only list specific interface types.",
- "enum" : [
- "bridge",
- "bond",
- "eth",
- "alias",
- "vlan",
- "OVSBridge",
- "OVSBond",
- "OVSPort",
- "OVSIntPort",
- "any_bridge"
- ],
- "optional" : 1,
- "type" : "string"
}
}
},
"audit"
]
},
+ "protected" : 1,
"proxyto" : "node",
"returns" : {
"items" : {
},
"links" : [
{
- "href" : "{iface}",
+ "href" : "{service}",
"rel" : "child"
}
],
"type" : "array"
}
- },
- "POST" : {
- "description" : "Create network device configuration",
- "method" : "POST",
- "name" : "create_network",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "address" : {
- "description" : "IP address.",
- "format" : "ipv4",
- "optional" : 1,
- "requires" : "netmask",
- "type" : "string",
- "typetext" : "<string>"
- },
- "address6" : {
- "description" : "IP address.",
- "format" : "ipv6",
- "optional" : 1,
- "requires" : "netmask6",
- "type" : "string",
- "typetext" : "<string>"
- },
- "autostart" : {
- "description" : "Automatically start interface on boot.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "bond_mode" : {
- "description" : "Bonding mode.",
- "enum" : [
- "balance-rr",
- "active-backup",
- "balance-xor",
- "broadcast",
- "802.3ad",
- "balance-tlb",
- "balance-alb",
- "balance-slb",
- "lacp-balance-slb",
- "lacp-balance-tcp"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "bond_xmit_hash_policy" : {
- "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
- "enum" : [
- "layer2",
- "layer2+3",
- "layer3+4"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "bridge_ports" : {
- "description" : "Specify the iterfaces you want to add to your bridge.",
- "format" : "pve-iface-list",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "bridge_vlan_aware" : {
- "description" : "Enable bridge vlan support.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "comments" : {
- "description" : "Comments",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "comments6" : {
- "description" : "Comments",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "gateway" : {
- "description" : "Default gateway address.",
- "format" : "ipv4",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "gateway6" : {
- "description" : "Default ipv6 gateway address.",
- "format" : "ipv6",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "iface" : {
- "description" : "Network interface name.",
- "format" : "pve-iface",
- "maxLength" : 20,
- "minLength" : 2,
- "type" : "string",
- "typetext" : "<string>"
- },
- "netmask" : {
- "description" : "Network mask.",
- "format" : "ipv4mask",
- "optional" : 1,
- "requires" : "address",
- "type" : "string",
- "typetext" : "<string>"
- },
- "netmask6" : {
- "description" : "Network mask.",
- "maximum" : 128,
- "minimum" : 0,
- "optional" : 1,
- "requires" : "address6",
- "type" : "integer",
- "typetext" : "<integer> (0 - 128)"
- },
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/services",
+ "text" : "services"
+ },
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete subscription key.",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
- },
- "ovs_bonds" : {
- "description" : "Specify the interfaces used by the bonding device.",
- "format" : "pve-iface-list",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "ovs_bridge" : {
- "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
- "format" : "pve-iface",
- "optional" : 1,
+ }
+ }
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read subscription info.",
+ "method" : "GET",
+ "name" : "get",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
- },
- "ovs_options" : {
- "description" : "OVS interface options.",
- "maxLength" : 1024,
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit",
+ "quser"
+ ]
+ },
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "object"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Update subscription info.",
+ "method" : "POST",
+ "name" : "update",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "force" : {
+ "default" : 0,
+ "description" : "Always connect to server, even if we have up to date info inside local cache.",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
- "ovs_ports" : {
- "description" : "Specify the iterfaces you want to add to your bridge.",
- "format" : "pve-iface-list",
- "optional" : 1,
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Set subscription key.",
+ "method" : "PUT",
+ "name" : "set",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "key" : {
+ "description" : "Proxmox Mail Gateway subscription key",
+ "maxLength" : 32,
+ "pattern" : "pmg([cbsp])-[0-9a-f]{10}",
+ "type" : "string"
},
- "ovs_tag" : {
- "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
- "maximum" : 4094,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 4094)"
- },
- "slaves" : {
- "description" : "Specify the interfaces used by the bonding device.",
- "format" : "pve-iface-list",
- "optional" : 1,
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
- },
- "type" : {
- "description" : "Network interface type",
- "enum" : [
- "bridge",
- "bond",
- "eth",
- "alias",
- "vlan",
- "OVSBridge",
- "OVSBond",
- "OVSPort",
- "OVSIntPort",
- "unknown"
- ],
- "type" : "string"
}
}
},
}
}
},
- "leaf" : 0,
- "path" : "/nodes/{node}/network",
- "text" : "network"
+ "leaf" : 1,
+ "path" : "/nodes/{node}/subscription",
+ "text" : "subscription"
},
{
"children" : [
{
- "children" : [
- {
- "info" : {
- "GET" : {
- "description" : "Read task log.",
- "method" : "GET",
- "name" : "read_task_log",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "limit" : {
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "start" : {
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "upid" : {
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "items" : {
- "properties" : {
- "n" : {
- "description" : "Line number",
- "type" : "integer"
- },
- "t" : {
- "description" : "Line text",
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "type" : "array"
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "List available updates.",
+ "method" : "GET",
+ "name" : "list_updates",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/tasks/{upid}/log",
- "text" : "log"
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "type" : "array"
+ }
},
- {
- "info" : {
- "GET" : {
- "description" : "Read task status.",
- "method" : "GET",
- "name" : "read_task_status",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "upid" : {
- "type" : "string",
- "typetext" : "<string>"
- }
- }
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
+ "method" : "POST",
+ "name" : "update_database",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
},
- "permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
+ "notify" : {
+ "default" : 0,
+ "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "properties" : {
- "pid" : {
- "type" : "integer"
- },
- "status" : {
- "enum" : [
- "running",
- "stopped"
- ],
- "type" : "string"
- }
- },
- "type" : "object"
+ "quiet" : {
+ "default" : 0,
+ "description" : "Only produces output suitable for logging, omitting progress indicators.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/tasks/{upid}/status",
- "text" : "status"
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
}
- ],
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/apt/update",
+ "text" : "update"
+ },
+ {
"info" : {
- "DELETE" : {
- "description" : "Stop a task.",
- "method" : "DELETE",
- "name" : "stop_task",
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get package changelogs.",
+ "method" : "GET",
+ "name" : "changelog",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "name" : {
+ "description" : "Package name.",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
},
- "upid" : {
+ "version" : {
+ "description" : "Package version.",
+ "optional" : 1,
"type" : "string",
"typetext" : "<string>"
}
},
"permissions" : {
"check" : [
- "admin"
+ "admin",
+ "audit"
]
},
- "protected" : 1,
"proxyto" : "node",
"returns" : {
- "type" : "null"
+ "type" : "string"
}
- },
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/apt/changelog",
+ "text" : "changelog"
+ },
+ {
+ "info" : {
"GET" : {
- "description" : "",
+ "allowtoken" : 1,
+ "description" : "Get package information for important Proxmox packages.",
"method" : "GET",
- "name" : "upid_index",
+ "name" : "versions",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
- },
- "upid" : {
- "type" : "string",
- "typetext" : "<string>"
}
}
},
"audit"
]
},
+ "proxyto" : "node",
"returns" : {
"items" : {
"properties" : {},
"type" : "object"
},
- "links" : [
- {
- "href" : "{name}",
- "rel" : "child"
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/apt/versions",
+ "text" : "versions"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Directory index for apt (Advanced Package Tool).",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "id" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{id}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/apt",
+ "text" : "apt"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get the detailed syslog entries for a specific mail ID.",
+ "method" : "GET",
+ "name" : "maillog",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "endtime" : {
+ "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "id" : {
+ "description" : "Mail ID (as returned by the list API).",
+ "maxLength" : 64,
+ "minLength" : 3,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "starttime" : {
+ "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "properties" : {
+ "client" : {
+ "description" : "Client address",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "dstatus" : {
+ "description" : "Delivery status.",
+ "maxLength" : 1,
+ "minLength" : 1,
+ "type" : "string"
+ },
+ "from" : {
+ "description" : "Sender email address.",
+ "type" : "string"
+ },
+ "id" : {
+ "description" : "Unique ID.",
+ "type" : "string"
+ },
+ "logs" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ },
+ "msgid" : {
+ "description" : "SMTP message ID.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "qid" : {
+ "description" : "Postfix qmgr ID.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "relay" : {
+ "description" : "ID of relayed mail.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "rstatus" : {
+ "description" : "Delivery status of relayed mail.",
+ "maxLength" : 1,
+ "minLength" : 1,
+ "optional" : 1,
+ "type" : "string"
+ },
+ "size" : {
+ "description" : "The size of the raw email.",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "time" : {
+ "description" : "Delivery timestamp.",
+ "type" : "integer"
+ },
+ "to" : {
+ "description" : "Receiver email address.",
+ "type" : "string"
}
- ],
- "type" : "array"
+ },
+ "type" : "object"
}
}
},
- "leaf" : 0,
- "path" : "/nodes/{node}/tasks/{upid}",
- "text" : "{upid}"
+ "leaf" : 1,
+ "path" : "/nodes/{node}/tracker/{id}",
+ "text" : "{id}"
}
],
"info" : {
"GET" : {
- "description" : "Read task list for one node (finished tasks).",
+ "allowtoken" : 1,
+ "description" : "Read mail list.",
"method" : "GET",
- "name" : "node_tasks",
+ "name" : "list_mails",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "errors" : {
+ "endtime" : {
+ "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "from" : {
+ "description" : "Sender email address filter.",
+ "maxLength" : 256,
+ "minLength" : 1,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "greylist" : {
+ "default" : 0,
+ "description" : "Include Greylisted entries.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
},
- "limit" : {
- "minimum" : 0,
+ "ndr" : {
+ "default" : 0,
+ "description" : "Include NDRs (non delivery reports).",
"optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
"node" : {
"description" : "The cluster node name.",
"type" : "string",
"typetext" : "<string>"
},
- "start" : {
+ "starttime" : {
+ "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
"minimum" : 0,
"optional" : 1,
"type" : "integer",
"typetext" : "<integer> (0 - N)"
},
- "userfilter" : {
+ "target" : {
+ "description" : "Receiver email address filter.",
+ "maxLength" : 256,
+ "minLength" : 1,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "xfilter" : {
+ "description" : "Only include mails containing this filter string.",
+ "maxLength" : 256,
+ "minLength" : 1,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"audit"
]
},
+ "protected" : 1,
"proxyto" : "node",
"returns" : {
"items" : {
"properties" : {
- "upid" : {
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{upid}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/nodes/{node}/tasks",
- "text" : "tasks"
- },
- {
- "children" : [
- {
- "children" : [
- {
- "info" : {
- "GET" : {
- "description" : "Read service properties",
- "method" : "GET",
- "name" : "service_state",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "service" : {
- "description" : "Service ID",
- "enum" : [
- "clamav-daemon",
- "clamav-freshclam",
- "fetchmail",
- "pmgproxy",
- "pmgdaemon",
- "pmgpolicy",
- "pmg-smtp-filter",
- "pmgtunnel",
- "pmgmirror",
- "ssh",
- "rsyslog",
- "postfix",
- "postgres",
- "systemd-timesyncd",
- "pmg-hourly",
- "pmg-daily",
- "pmgreport",
- "pmgspamreport"
- ],
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "properties" : {},
- "type" : "object"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/services/{service}/state",
- "text" : "state"
- },
- {
- "info" : {
- "POST" : {
- "description" : "Start service.",
- "method" : "POST",
- "name" : "service_start",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "service" : {
- "description" : "Service ID",
- "enum" : [
- "clamav-daemon",
- "clamav-freshclam",
- "fetchmail",
- "pmgproxy",
- "pmgdaemon",
- "pmgpolicy",
- "pmg-smtp-filter",
- "pmgtunnel",
- "pmgmirror",
- "ssh",
- "rsyslog",
- "postfix",
- "postgres",
- "systemd-timesyncd",
- "pmg-hourly",
- "pmg-daily",
- "pmgreport",
- "pmgspamreport"
- ],
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "string"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/services/{service}/start",
- "text" : "start"
- },
- {
- "info" : {
- "POST" : {
- "description" : "Stop service.",
- "method" : "POST",
- "name" : "service_stop",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "service" : {
- "description" : "Service ID",
- "enum" : [
- "clamav-daemon",
- "clamav-freshclam",
- "fetchmail",
- "pmgproxy",
- "pmgdaemon",
- "pmgpolicy",
- "pmg-smtp-filter",
- "pmgtunnel",
- "pmgmirror",
- "ssh",
- "rsyslog",
- "postfix",
- "postgres",
- "systemd-timesyncd",
- "pmg-hourly",
- "pmg-daily",
- "pmgreport",
- "pmgspamreport"
- ],
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "string"
- }
+ "client" : {
+ "description" : "Client address",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "dstatus" : {
+ "description" : "Delivery status.",
+ "maxLength" : 1,
+ "minLength" : 1,
+ "type" : "string"
+ },
+ "from" : {
+ "description" : "Sender email address.",
+ "type" : "string"
+ },
+ "id" : {
+ "description" : "Unique ID.",
+ "type" : "string"
+ },
+ "msgid" : {
+ "description" : "SMTP message ID.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "qid" : {
+ "description" : "Postfix qmgr ID.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "relay" : {
+ "description" : "ID of relayed mail.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "rstatus" : {
+ "description" : "Delivery status of relayed mail.",
+ "maxLength" : 1,
+ "minLength" : 1,
+ "optional" : 1,
+ "type" : "string"
+ },
+ "size" : {
+ "description" : "The size of the raw email.",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "time" : {
+ "description" : "Delivery timestamp.",
+ "type" : "integer"
+ },
+ "to" : {
+ "description" : "Receiver email address.",
+ "type" : "string"
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/services/{service}/stop",
- "text" : "stop"
+ "type" : "object"
},
- {
- "info" : {
- "POST" : {
- "description" : "Restart service.",
- "method" : "POST",
- "name" : "service_restart",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "service" : {
- "description" : "Service ID",
- "enum" : [
- "clamav-daemon",
- "clamav-freshclam",
- "fetchmail",
- "pmgproxy",
- "pmgdaemon",
- "pmgpolicy",
- "pmg-smtp-filter",
- "pmgtunnel",
- "pmgmirror",
- "ssh",
- "rsyslog",
- "postfix",
- "postgres",
- "systemd-timesyncd",
- "pmg-hourly",
- "pmg-daily",
- "pmgreport",
- "pmgspamreport"
- ],
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
+ "links" : [
+ {
+ "href" : "{id}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/tracker",
+ "text" : "tracker"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete a backup file.",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "filename" : {
+ "description" : "The backup file name.",
+ "maxLength" : 256,
+ "minLength" : 4,
+ "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
"type" : "string"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/services/{service}/restart",
- "text" : "restart"
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
},
- {
- "info" : {
- "POST" : {
- "description" : "Reload service.",
- "method" : "POST",
- "name" : "service_reload",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "service" : {
- "description" : "Service ID",
- "enum" : [
- "clamav-daemon",
- "clamav-freshclam",
- "fetchmail",
- "pmgproxy",
- "pmgdaemon",
- "pmgpolicy",
- "pmg-smtp-filter",
- "pmgtunnel",
- "pmgmirror",
- "ssh",
- "rsyslog",
- "postfix",
- "postgres",
- "systemd-timesyncd",
- "pmg-hourly",
- "pmg-daily",
- "pmgreport",
- "pmgspamreport"
- ],
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Download a backup file.",
+ "download" : 1,
+ "method" : "GET",
+ "name" : "download",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "filename" : {
+ "description" : "The backup file name.",
+ "maxLength" : 256,
+ "minLength" : 4,
+ "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
"type" : "string"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/services/{service}/reload",
- "text" : "reload"
- }
- ],
- "info" : {
- "GET" : {
- "description" : "Directory index",
- "method" : "GET",
- "name" : "srvcmdidx",
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Restore the system configuration.",
+ "method" : "POST",
+ "name" : "restore",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "config" : {
+ "default" : 0,
+ "description" : "Restore system configuration.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "database" : {
+ "default" : 1,
+ "description" : "Restore the rule database. This is the default.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "filename" : {
+ "description" : "The backup file name.",
+ "maxLength" : 256,
+ "minLength" : 4,
+ "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
+ "type" : "string"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
},
- "service" : {
- "description" : "Service ID",
- "enum" : [
- "clamav-daemon",
- "clamav-freshclam",
- "fetchmail",
- "pmgproxy",
- "pmgdaemon",
- "pmgpolicy",
- "pmg-smtp-filter",
- "pmgtunnel",
- "pmgmirror",
- "ssh",
- "rsyslog",
- "postfix",
- "postgres",
- "systemd-timesyncd",
- "pmg-hourly",
- "pmg-daily",
- "pmgreport",
- "pmgspamreport"
- ],
- "type" : "string"
+ "statistic" : {
+ "default" : 0,
+ "description" : "Restore statistic databases. Only considered when you restore the 'database'.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
}
}
},
"permissions" : {
"check" : [
- "admin",
- "audit"
+ "admin"
]
},
+ "protected" : 1,
+ "proxyto" : "node",
"returns" : {
- "items" : {
- "properties" : {
- "subdir" : {
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{subdir}",
- "rel" : "child"
- }
- ],
- "type" : "array"
+ "type" : "string"
}
}
},
- "leaf" : 0,
- "path" : "/nodes/{node}/services/{service}",
- "text" : "{service}"
+ "leaf" : 1,
+ "path" : "/nodes/{node}/backup/{filename}",
+ "text" : "{filename}"
}
],
"info" : {
"GET" : {
- "description" : "Service list.",
+ "allowtoken" : 1,
+ "description" : "List all stored backups (files named proxmox-backup_{DATE}.tgz).",
"method" : "GET",
- "name" : "index",
+ "name" : "list",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"proxyto" : "node",
"returns" : {
"items" : {
- "properties" : {},
+ "properties" : {
+ "filename" : {
+ "description" : "The backup file name.",
+ "maxLength" : 256,
+ "minLength" : 4,
+ "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
+ "type" : "string"
+ },
+ "size" : {
+ "description" : "Size of backup file in bytes.",
+ "type" : "integer"
+ },
+ "timestamp" : {
+ "description" : "Backup timestamp (Unix epoch).",
+ "type" : "integer"
+ }
+ },
"type" : "object"
},
"links" : [
{
- "href" : "{service}",
+ "href" : "{filename}",
"rel" : "child"
}
],
"type" : "array"
}
- }
- },
- "leaf" : 0,
- "path" : "/nodes/{node}/services",
- "text" : "services"
- },
- {
- "info" : {
- "GET" : {
- "description" : "Read subscription info.",
- "method" : "GET",
- "name" : "get",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "qmanager",
- "audit",
- "quser"
- ]
- },
- "proxyto" : "node",
- "returns" : {
- "type" : "object"
- }
},
"POST" : {
- "description" : "Update subscription info.",
+ "allowtoken" : 1,
+ "description" : "Backup the system configuration.",
"method" : "POST",
- "name" : "update",
+ "name" : "backup",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "force" : {
- "default" : 0,
- "description" : "Always connect to server, even if we have up to date info inside local cache.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
+ },
+ "notify" : {
+ "default" : "never",
+ "description" : "Specify when to notify via e-mail",
+ "enum" : [
+ "always",
+ "error",
+ "never"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "statistic" : {
+ "default" : 1,
+ "description" : "Backup statistic databases.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
}
}
},
"protected" : 1,
"proxyto" : "node",
"returns" : {
- "type" : "null"
- }
- },
- "PUT" : {
- "description" : "Set subscription key.",
- "method" : "PUT",
- "name" : "set",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "key" : {
- "description" : "Proxmox Mail Gateway subscription key",
- "maxLength" : 32,
- "pattern" : "pmg([cbsp])-[0-9a-f]{10}",
- "type" : "string"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
+ "type" : "string"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/subscription",
- "text" : "subscription"
+ "leaf" : 0,
+ "path" : "/nodes/{node}/backup",
+ "text" : "backup"
},
{
"children" : [
{
- "info" : {
- "GET" : {
- "description" : "List available updates.",
- "method" : "GET",
- "name" : "list_updates",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
+ "children" : [
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Forget a snapshot",
+ "method" : "DELETE",
+ "name" : "forget_snapshot",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "backup-id" : {
+ "description" : "ID (hostname) of backup snapshot",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "backup-time" : {
+ "description" : "Backup time in RFC 3339 format",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Restore the system configuration.",
+ "method" : "POST",
+ "name" : "restore",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "backup-id" : {
+ "description" : "backup-id (hostname) of backup snapshot",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "backup-time" : {
+ "description" : "backup-time to restore",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "config" : {
+ "default" : 0,
+ "description" : "Restore system configuration.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "database" : {
+ "default" : 1,
+ "description" : "Restore the rule database. This is the default.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "statistic" : {
+ "default" : 0,
+ "description" : "Restore statistic databases. Only considered when you restore the 'database'.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/pbs/{remote}/snapshot/{backup-id}/{backup-time}",
+ "text" : "{backup-time}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get snapshots from a specific ID stored on remote.",
+ "method" : "GET",
+ "name" : "get_group_snapshots",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "backup-id" : {
+ "description" : "ID (hostname) of backup snapshot",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "backup-id" : {
+ "type" : "string"
+ },
+ "backup-time" : {
+ "type" : "string"
+ },
+ "ctime" : {
+ "type" : "string"
+ },
+ "size" : {
+ "type" : "integer"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{backup-time}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/pbs/{remote}/snapshot/{backup-id}",
+ "text" : "{backup-id}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get snapshots stored on remote.",
+ "method" : "GET",
+ "name" : "get_snapshots",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "backup-id" : {
+ "type" : "string"
+ },
+ "backup-time" : {
+ "type" : "string"
+ },
+ "ctime" : {
+ "type" : "string"
+ },
+ "size" : {
+ "type" : "integer"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{backup-id}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
}
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
},
- "type" : "array"
- }
- },
- "POST" : {
- "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
- "method" : "POST",
- "name" : "update_database",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Create a new backup and prune the backup group afterwards, if configured.",
+ "method" : "POST",
+ "name" : "run_backup",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "notify" : {
+ "default" : "never",
+ "description" : "Specify when to notify via e-mail",
+ "enum" : [
+ "always",
+ "error",
+ "never"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "statistic" : {
+ "default" : 1,
+ "description" : "Backup statistic databases.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ }
+ }
},
- "notify" : {
- "default" : 0,
- "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
},
- "quiet" : {
- "default" : 0,
- "description" : "Only produces output suitable for logging, omitting progress indicators.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
}
}
},
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "string"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/apt/update",
- "text" : "update"
- },
- {
- "info" : {
- "GET" : {
- "description" : "Get package changelogs.",
- "method" : "GET",
- "name" : "changelog",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "name" : {
- "description" : "Package name.",
- "type" : "string",
- "typetext" : "<string>"
+ "leaf" : 0,
+ "path" : "/nodes/{node}/pbs/{remote}/snapshot",
+ "text" : "snapshot"
+ },
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete backup schedule",
+ "method" : "DELETE",
+ "name" : "delete_timer",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
},
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get timer specification",
+ "method" : "GET",
+ "name" : "list_timer",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "properties" : {
+ "delay" : {
+ "default" : "5min",
+ "description" : "Randomized delay to add to the starttime (RandomizedDelaySec setting of the systemd.timer)",
+ "optional" : 1,
+ "pattern" : "[0-9a-zA-Z. ]+",
+ "type" : "string"
+ },
+ "next-run" : {
+ "description" : "The date time of the next run, in server locale.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "remote" : {
+ "description" : "Proxmox Backup Server remote ID.",
+ "format" : "pve-configid",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "schedule" : {
+ "default" : "daily",
+ "description" : "Schedule for the backup (OnCalendar setting of the systemd.timer)",
+ "optional" : 1,
+ "pattern" : "[0-9a-zA-Z*.:,\\-/ ]+",
+ "type" : "string"
+ },
+ "unitfile" : {
+ "description" : "unit file for the systemd.timer unit",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Create backup schedule",
+ "method" : "POST",
+ "name" : "create_timer",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "delay" : {
+ "default" : "5min",
+ "description" : "Randomized delay to add to the starttime (RandomizedDelaySec setting of the systemd.timer)",
+ "optional" : 1,
+ "pattern" : "[0-9a-zA-Z. ]+",
+ "type" : "string"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "schedule" : {
+ "default" : "daily",
+ "description" : "Schedule for the backup (OnCalendar setting of the systemd.timer)",
+ "optional" : 1,
+ "pattern" : "[0-9a-zA-Z*.:,\\-/ ]+",
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
},
- "version" : {
- "description" : "Package version.",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
}
}
},
- "permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
- },
- "proxyto" : "node",
- "returns" : {
- "type" : "string"
- }
+ "leaf" : 1,
+ "path" : "/nodes/{node}/pbs/{remote}/timer",
+ "text" : "timer"
}
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/apt/changelog",
- "text" : "changelog"
- },
- {
+ ],
"info" : {
"GET" : {
- "description" : "Get package information for important Proxmox packages.",
+ "allowtoken" : 1,
+ "description" : "Backup Job index.",
"method" : "GET",
- "name" : "versions",
+ "name" : "remote_index",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
- },
- "proxyto" : "node",
- "returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
- },
- "type" : "array"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/apt/versions",
- "text" : "versions"
- }
- ],
- "info" : {
- "GET" : {
- "description" : "Directory index for apt (Advanced Package Tool).",
- "method" : "GET",
- "name" : "index",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "user" : "all"
- },
- "returns" : {
- "items" : {
- "properties" : {
- "id" : {
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{id}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/nodes/{node}/apt",
- "text" : "apt"
- },
- {
- "children" : [
- {
- "info" : {
- "GET" : {
- "description" : "Get the detailed syslog entries for a specific mail ID.",
- "method" : "GET",
- "name" : "maillog",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "endtime" : {
- "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- },
- "id" : {
- "description" : "Mail ID (as returend by the list API).",
- "maxLength" : 64,
- "minLength" : 3,
- "type" : "string",
- "typetext" : "<string>"
},
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
"type" : "string",
"typetext" : "<string>"
- },
- "starttime" : {
- "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
}
}
},
- "permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
"returns" : {
- "properties" : {
- "client" : {
- "description" : "Client address",
- "optional" : 1,
- "type" : "string"
- },
- "dstatus" : {
- "description" : "Delivery status.",
- "maxLength" : 1,
- "minLength" : 1,
- "type" : "string"
- },
- "from" : {
- "description" : "Sender email address.",
- "type" : "string"
- },
- "id" : {
- "description" : "Unique ID.",
- "type" : "string"
- },
- "logs" : {
- "items" : {
+ "items" : {
+ "properties" : {
+ "section" : {
"type" : "string"
- },
- "type" : "array"
- },
- "msgid" : {
- "description" : "SMTP message ID.",
- "optional" : 1,
- "type" : "string"
- },
- "qid" : {
- "description" : "Postfix qmgr ID.",
- "optional" : 1,
- "type" : "string"
- },
- "relay" : {
- "description" : "ID of relayed mail.",
- "optional" : 1,
- "type" : "string"
- },
- "rstatus" : {
- "description" : "Delivery status of relayed mail.",
- "maxLength" : 1,
- "minLength" : 1,
- "optional" : 1,
- "type" : "string"
- },
- "size" : {
- "description" : "The size of the raw email.",
- "optional" : 1,
- "type" : "number"
- },
- "time" : {
- "description" : "Delivery timestamp.",
- "type" : "integer"
+ }
},
- "to" : {
- "description" : "Receiver email address.",
- "type" : "string"
- }
+ "type" : "object"
},
- "type" : "object"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/tracker/{id}",
- "text" : "{id}"
- }
- ],
- "info" : {
- "GET" : {
- "description" : "Read mail list.",
- "method" : "GET",
- "name" : "list_mails",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "endtime" : {
- "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- },
- "from" : {
- "description" : "Sender email address filter.",
- "maxLength" : 256,
- "minLength" : 1,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "greylist" : {
- "default" : 0,
- "description" : "Include Greylisted entries.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "ndr" : {
- "default" : 0,
- "description" : "Include NDRs (non delivery reports).",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
+ "links" : [
+ {
+ "href" : "{section}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/pbs/{remote}",
+ "text" : "{remote}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "List all configured Proxmox Backup Server jobs.",
+ "method" : "GET",
+ "name" : "list",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
- },
- "starttime" : {
- "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "target" : {
- "description" : "Receiver email address filter.",
- "maxLength" : 256,
- "minLength" : 1,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "xfilter" : {
- "description" : "Only include mails containing this filter string.",
- "maxLength" : 256,
- "minLength" : 1,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
}
}
},
"proxyto" : "node",
"returns" : {
"items" : {
+ "additionalProperties" : 0,
"properties" : {
- "client" : {
- "description" : "Client address",
- "optional" : 1,
+ "datastore" : {
+ "description" : "Proxmox Backup Server datastore name.",
+ "optional" : 0,
"type" : "string"
},
- "dstatus" : {
- "description" : "Delivery status.",
- "maxLength" : 1,
- "minLength" : 1,
- "type" : "string"
+ "disable" : {
+ "description" : "Flag to disable (deactivate) the entry.",
+ "optional" : 1,
+ "type" : "boolean"
},
- "from" : {
- "description" : "Sender email address.",
+ "fingerprint" : {
+ "description" : "Certificate SHA 256 fingerprint.",
+ "optional" : 1,
+ "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
"type" : "string"
},
- "id" : {
- "description" : "Unique ID.",
- "type" : "string"
+ "include-statistics" : {
+ "description" : "Include statistics in scheduled backups",
+ "optional" : 1,
+ "type" : "boolean"
},
- "msgid" : {
- "description" : "SMTP message ID.",
+ "keep-daily" : {
+ "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
"optional" : 1,
- "type" : "string"
+ "type" : "integer"
},
- "qid" : {
- "description" : "Postfix qmgr ID.",
+ "keep-hourly" : {
+ "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
"optional" : 1,
- "type" : "string"
+ "type" : "integer"
},
- "relay" : {
- "description" : "ID of relayed mail.",
+ "keep-last" : {
+ "description" : "Keep the last <N> backups.",
+ "format_description" : "N",
+ "minimum" : "0",
"optional" : 1,
- "type" : "string"
+ "type" : "integer"
},
- "rstatus" : {
- "description" : "Delivery status of relayed mail.",
- "maxLength" : 1,
- "minLength" : 1,
+ "keep-monthly" : {
+ "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
"optional" : 1,
- "type" : "string"
+ "type" : "integer"
},
- "size" : {
- "description" : "The size of the raw email.",
+ "keep-weekly" : {
+ "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
"optional" : 1,
- "type" : "number"
+ "type" : "integer"
},
- "time" : {
- "description" : "Delivery timestamp.",
+ "keep-yearly" : {
+ "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.",
+ "format_description" : "N",
+ "minimum" : "0",
+ "optional" : 1,
"type" : "integer"
},
- "to" : {
- "description" : "Receiver email address.",
+ "notify" : {
+ "description" : "Specify when to notify via e-mail",
+ "enum" : [
+ "always",
+ "error",
+ "never"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "password" : {
+ "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "remote" : {
+ "description" : "Proxmox Backup Server ID.",
+ "format" : "pve-configid",
+ "type" : "string"
+ },
+ "server" : {
+ "description" : "Proxmox Backup Server address.",
+ "format" : "address",
+ "maxLength" : 256,
+ "optional" : 0,
"type" : "string"
+ },
+ "username" : {
+ "description" : "Username or API token ID on the Proxmox Backup Server",
+ "maxLength" : 512,
+ "minLength" : 3,
+ "optional" : 1,
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{remote}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/pbs",
+ "text" : "pbs"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get information about the node's certificates.",
+ "method" : "GET",
+ "name" : "info",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "filename" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "fingerprint" : {
+ "description" : "Certificate SHA 256 fingerprint.",
+ "optional" : 1,
+ "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
+ "type" : "string"
+ },
+ "issuer" : {
+ "description" : "Certificate issuer name.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "notafter" : {
+ "description" : "Certificate's notAfter timestamp (UNIX epoch).",
+ "optional" : 1,
+ "renderer" : "timestamp",
+ "type" : "integer"
+ },
+ "notbefore" : {
+ "description" : "Certificate's notBefore timestamp (UNIX epoch).",
+ "optional" : 1,
+ "renderer" : "timestamp",
+ "type" : "integer"
+ },
+ "pem" : {
+ "description" : "Certificate in PEM format",
+ "format" : "pem-certificate",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "public-key-bits" : {
+ "description" : "Certificate's public key size",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "public-key-type" : {
+ "description" : "Certificate's public key algorithm",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "san" : {
+ "description" : "List of Certificate's SubjectAlternativeName entries.",
+ "items" : {
+ "type" : "string"
+ },
+ "optional" : 1,
+ "renderer" : "yaml",
+ "type" : "array"
+ },
+ "subject" : {
+ "description" : "Certificate subject name.",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/certificates/info",
+ "text" : "info"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "DELETE custom certificate chain and key.",
+ "method" : "DELETE",
+ "name" : "remove_custom_cert",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "restart" : {
+ "default" : 0,
+ "description" : "Restart pmgproxy.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "type" : {
+ "description" : "The TLS certificate type (API or SMTP certificate).",
+ "enum" : [
+ "api",
+ "smtp"
+ ],
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Upload or update custom certificate chain and key.",
+ "method" : "POST",
+ "name" : "upload_custom_cert",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "certificates" : {
+ "description" : "PEM encoded certificate (chain).",
+ "format" : "pem-certificate-chain",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "force" : {
+ "default" : 0,
+ "description" : "Overwrite existing custom or ACME certificate files.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "key" : {
+ "description" : "PEM encoded private key.",
+ "format" : "pem-string",
+ "optional" : 0,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "restart" : {
+ "default" : 0,
+ "description" : "Restart services.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "type" : {
+ "description" : "The TLS certificate type (API or SMTP certificate).",
+ "enum" : [
+ "api",
+ "smtp"
+ ],
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "properties" : {
+ "filename" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "fingerprint" : {
+ "description" : "Certificate SHA 256 fingerprint.",
+ "optional" : 1,
+ "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
+ "type" : "string"
+ },
+ "issuer" : {
+ "description" : "Certificate issuer name.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "notafter" : {
+ "description" : "Certificate's notAfter timestamp (UNIX epoch).",
+ "optional" : 1,
+ "renderer" : "timestamp",
+ "type" : "integer"
+ },
+ "notbefore" : {
+ "description" : "Certificate's notBefore timestamp (UNIX epoch).",
+ "optional" : 1,
+ "renderer" : "timestamp",
+ "type" : "integer"
+ },
+ "pem" : {
+ "description" : "Certificate in PEM format",
+ "format" : "pem-certificate",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "public-key-bits" : {
+ "description" : "Certificate's public key size",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "public-key-type" : {
+ "description" : "Certificate's public key algorithm",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "san" : {
+ "description" : "List of Certificate's SubjectAlternativeName entries.",
+ "items" : {
+ "type" : "string"
+ },
+ "optional" : 1,
+ "renderer" : "yaml",
+ "type" : "array"
+ },
+ "subject" : {
+ "description" : "Certificate subject name.",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
}
},
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{id}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/nodes/{node}/tracker",
- "text" : "tracker"
- },
- {
- "children" : [
- {
+ "leaf" : 1,
+ "path" : "/nodes/{node}/certificates/custom/{type}",
+ "text" : "{type}"
+ }
+ ],
"info" : {
- "DELETE" : {
- "description" : "Delete a backup file.",
- "method" : "DELETE",
- "name" : "delete",
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Certificate index.",
+ "method" : "GET",
+ "name" : "custom_cert_index",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "filename" : {
- "description" : "The backup file name.",
- "maxLength" : 256,
- "minLength" : 4,
- "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
- "type" : "string"
- },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
}
},
"permissions" : {
- "check" : [
- "admin"
- ]
+ "user" : "all"
},
- "protected" : 1,
- "proxyto" : "node",
"returns" : {
- "type" : "null"
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{type}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
}
- },
- "GET" : {
- "description" : "Download a backup file.",
- "download" : 1,
- "method" : "GET",
- "name" : "download",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "filename" : {
- "description" : "The backup file name.",
- "maxLength" : 256,
- "minLength" : 4,
- "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/certificates/custom",
+ "text" : "custom"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Revoke existing certificate from CA.",
+ "method" : "DELETE",
+ "name" : "revoke_acme_cert",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "The TLS certificate type (API or SMTP certificate).",
+ "enum" : [
+ "api",
+ "smtp"
+ ],
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
"type" : "string"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Order a new certificate from ACME-compatible CA.",
+ "method" : "POST",
+ "name" : "new_acme_cert",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "force" : {
+ "default" : 0,
+ "description" : "Overwrite existing custom certificate.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "The TLS certificate type (API or SMTP certificate).",
+ "enum" : [
+ "api",
+ "smtp"
+ ],
+ "type" : "string"
+ }
+ }
},
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Renew existing certificate from CA.",
+ "method" : "PUT",
+ "name" : "renew_acme_cert",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "force" : {
+ "default" : 0,
+ "description" : "Force renewal even if expiry is more than 30 days away.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "The TLS certificate type (API or SMTP certificate).",
+ "enum" : [
+ "api",
+ "smtp"
+ ],
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
}
}
},
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "string"
- }
- },
- "POST" : {
- "description" : "Restore the system configuration.",
- "method" : "POST",
- "name" : "restore",
+ "leaf" : 1,
+ "path" : "/nodes/{node}/certificates/acme/{type}",
+ "text" : "{type}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "ACME Certificate index.",
+ "method" : "GET",
+ "name" : "acme_cert_index",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "config" : {
- "default" : 0,
- "description" : "Restore system configuration.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "database" : {
- "default" : 1,
- "description" : "Restore the rule database. This is the default.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "filename" : {
- "description" : "The backup file name.",
- "maxLength" : 256,
- "minLength" : 4,
- "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
- "type" : "string"
- },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
- },
- "statistic" : {
- "default" : 0,
- "description" : "Restore statistic databases. Only considered when you restore the 'database'.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
}
}
},
"permissions" : {
- "check" : [
- "admin"
- ]
+ "user" : "all"
},
- "protected" : 1,
- "proxyto" : "node",
"returns" : {
- "type" : "string"
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{type}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/backup/{filename}",
- "text" : "{filename}"
+ "leaf" : 0,
+ "path" : "/nodes/{node}/certificates/acme",
+ "text" : "acme"
}
],
"info" : {
"GET" : {
- "description" : "List all stored backups (files named proxmox-backup_{DATE}.tgz).",
+ "allowtoken" : 1,
+ "description" : "Node index.",
"method" : "GET",
- "name" : "list",
+ "name" : "index",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
}
},
"permissions" : {
- "check" : [
- "admin",
- "audit"
- ]
+ "user" : "all"
},
- "protected" : 1,
- "proxyto" : "node",
"returns" : {
"items" : {
- "properties" : {
- "filename" : {
- "description" : "The backup file name.",
- "maxLength" : 256,
- "minLength" : 4,
- "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
- "type" : "string"
- },
- "size" : {
- "description" : "Size of backup file in bytes.",
- "type" : "integer"
- },
- "timestamp" : {
- "description" : "Backup timestamp (Unix epoch).",
- "type" : "integer"
- }
- },
+ "properties" : {},
"type" : "object"
},
"links" : [
{
- "href" : "{filename}",
+ "href" : "{name}",
"rel" : "child"
}
],
"type" : "array"
}
- },
- "POST" : {
- "description" : "Backup the system configuration.",
- "method" : "POST",
- "name" : "backup",
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/certificates",
+ "text" : "certificates"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get node configuration options.",
+ "method" : "GET",
+ "name" : "get_config",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "acme" : {
+ "description" : "Node specific ACME settings.",
+ "format" : {
+ "account" : {
+ "default" : "default",
+ "description" : "ACME account config file name.",
+ "format" : "pve-configid",
+ "format_description" : "name",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "optional" : 1,
+ "type" : "string"
},
- "statistic" : {
- "default" : 1,
- "description" : "Backup statistic databases.",
+ "acmedomain[n]" : {
+ "description" : "ACME domain and validation plugin",
+ "format" : {
+ "alias" : {
+ "description" : "Alias for the Domain to verify ACME Challenge over DNS",
+ "format" : "pmg-acme-alias",
+ "format_description" : "domain",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "domain" : {
+ "default_key" : 1,
+ "description" : "domain for this node's ACME certificate",
+ "format" : "pmg-acme-domain",
+ "format_description" : "domain",
+ "type" : "string"
+ },
+ "plugin" : {
+ "default" : "standalone",
+ "description" : "The ACME plugin ID",
+ "format" : "pve-configid",
+ "format_description" : "name of the plugin configuration",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "usage" : {
+ "description" : "Whether this domain is used for the API, SMTP or both",
+ "format" : "pmg-certificate-type-list",
+ "format_description" : "usage list",
+ "type" : "string"
+ }
+ },
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "type" : "string"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Set node configuration options.",
+ "method" : "PUT",
+ "name" : "set_config",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "acme" : {
+ "description" : "Node specific ACME settings.",
+ "format" : {
+ "account" : {
+ "default" : "default",
+ "description" : "ACME account config file name.",
+ "format" : "pve-configid",
+ "format_description" : "name",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "[account=<name>]"
+ },
+ "acmedomain[n]" : {
+ "description" : "ACME domain and validation plugin",
+ "format" : {
+ "alias" : {
+ "description" : "Alias for the Domain to verify ACME Challenge over DNS",
+ "format" : "pmg-acme-alias",
+ "format_description" : "domain",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "domain" : {
+ "default_key" : 1,
+ "description" : "domain for this node's ACME certificate",
+ "format" : "pmg-acme-domain",
+ "format_description" : "domain",
+ "type" : "string"
+ },
+ "plugin" : {
+ "default" : "standalone",
+ "description" : "The ACME plugin ID",
+ "format" : "pve-configid",
+ "format_description" : "name of the plugin configuration",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "usage" : {
+ "description" : "Whether this domain is used for the API, SMTP or both",
+ "format" : "pmg-certificate-type-list",
+ "format_description" : "usage list",
+ "type" : "string"
+ }
+ },
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "[domain=]<domain> ,usage=<usage list> [,alias=<domain>] [,plugin=<name of the plugin configuration>]"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/config",
+ "text" : "config"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Gather various system information about a node",
+ "method" : "GET",
+ "name" : "report",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
}
}
},
"permissions" : {
"check" : [
- "admin"
+ "admin",
+ "audit"
]
},
"protected" : 1,
}
}
},
- "leaf" : 0,
- "path" : "/nodes/{node}/backup",
- "text" : "backup"
+ "leaf" : 1,
+ "path" : "/nodes/{node}/report",
+ "text" : "report"
},
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read node RRD statistics",
"method" : "GET",
"name" : "rrddata",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read system log",
"method" : "GET",
"name" : "syslog",
"path" : "/nodes/{node}/syslog",
"text" : "syslog"
},
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read Journal",
+ "method" : "GET",
+ "name" : "journal",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "endcursor" : {
+ "description" : "End before the given Cursor. Conflicts with 'until'.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "lastentries" : {
+ "description" : "Limit to the last X lines. Conflicts with a range.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "since" : {
+ "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "startcursor" : {
+ "description" : "Start after the given Cursor. Conflicts with 'since'.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "until" : {
+ "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/journal",
+ "text" : "journal"
+ },
{
"info" : {
"POST" : {
+ "allowtoken" : 1,
"description" : "Creates a Terminal proxy.",
"method" : "POST",
"name" : "termproxy",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "cmd" : {
+ "default" : "login",
+ "description" : "Run specific command or default to login.",
+ "enum" : [
+ "login",
+ "upgrade"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "cmd-opts" : {
+ "default" : "",
+ "description" : "Add parameters to a command. Encoded as null terminated strings.",
+ "optional" : 1,
+ "requires" : "cmd",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
- },
- "upgrade" : {
- "default" : 0,
- "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
}
}
},
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Opens a weksocket for VNC traffic.",
"method" : "GET",
"name" : "vncwebsocket",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read DNS settings.",
"method" : "GET",
"name" : "dns",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Write DNS settings.",
"method" : "PUT",
"name" : "update_dns",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read server time and time zone settings.",
"method" : "GET",
"name" : "time",
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Set time zone.",
"method" : "PUT",
"name" : "set_timezone",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Read server status. This is used by the cluster manager to test the node health.",
"method" : "GET",
"name" : "status",
}
}
},
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit"
+ ]
+ },
"protected" : 1,
"proxyto" : "node",
"returns" : {
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Reboot or shutdown a node.",
"method" : "POST",
"name" : "node_cmd",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Node index.",
"method" : "GET",
"name" : "index",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Cluster node index.",
"method" : "GET",
"name" : "index",
{
"info" : {
"DELETE" : {
+ "allowtoken" : 1,
"description" : "Delete a user.",
"method" : "DELETE",
"name" : "delete",
}
},
"GET" : {
+ "allowtoken" : 1,
"description" : "Read User data.",
"method" : "GET",
"name" : "read",
"protected" : 1,
"proxyto" : "master",
"returns" : {
- "properties" : {},
"type" : "object"
}
},
"PUT" : {
+ "allowtoken" : 1,
"description" : "Update user data.",
"method" : "PUT",
"name" : "write",
"typetext" : "<string>"
},
"role" : {
- "description" : "User role. Role 'root' is reseved for the Unix Superuser.",
+ "description" : "User role. Role 'root' is reserved for the Unix Superuser.",
"enum" : [
"root",
"admin",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "List users.",
"method" : "GET",
"name" : "index",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Create new user",
"method" : "POST",
"name" : "create",
"typetext" : "<string>"
},
"role" : {
- "description" : "User role. Role 'root' is reseved for the Unix Superuser.",
+ "description" : "User role. Role 'root' is reserved for the Unix Superuser.",
"enum" : [
"root",
"admin",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Dummy. Useful for formaters which want to priovde a login page.",
"method" : "GET",
"name" : "get_ticket",
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Create or verify authentication ticket.",
"method" : "POST",
"name" : "create_ticket",
{
"info" : {
"PUT" : {
+ "allowtoken" : 1,
"description" : "Change user password.",
"method" : "PUT",
"name" : "change_passsword",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Directory index.",
"method" : "GET",
"name" : "index",
{
"children" : [
{
- "children" : [
- {
- "info" : {
- "DELETE" : {
- "description" : "Delete user whitelist entries.",
- "method" : "DELETE",
- "name" : "whitelist_delete",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "address" : {
- "description" : "The address you want to remove.",
- "maxLength" : 512,
- "minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
- "type" : "string"
- },
- "pmail" : {
- "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "qmanager",
- "audit",
- "quser"
- ]
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete user whitelist entries.",
+ "method" : "DELETE",
+ "name" : "whitelist_delete_base",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "address" : {
+ "description" : "The address, or comma-separated list of addresses, you want to remove.",
+ "minLength" : 3,
+ "pattern" : "",
+ "type" : "string"
},
- "protected" : 1,
- "returns" : {
- "type" : "null"
+ "pmail" : {
+ "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
+ "maxLength" : 512,
+ "minLength" : 3,
+ "optional" : 1,
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
}
},
- "leaf" : 1,
- "path" : "/quarantine/whitelist/{address}",
- "text" : "{address}"
- }
- ],
- "info" : {
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit",
+ "quser"
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
"GET" : {
+ "allowtoken" : 1,
"description" : "Show user whitelist.",
"method" : "GET",
"name" : "whitelist",
"additionalProperties" : 0,
"properties" : {
"pmail" : {
- "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
+ "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
+ "maxLength" : 512,
+ "minLength" : 3,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
}
},
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Add user whitelist entries.",
"method" : "POST",
"name" : "whitelist_add",
"properties" : {
"address" : {
"description" : "The address you want to add.",
- "maxLength" : 512,
"minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
"type" : "string"
},
"pmail" : {
- "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
+ "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
+ "maxLength" : 512,
+ "minLength" : 3,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
}
},
}
}
},
- "leaf" : 0,
+ "leaf" : 1,
"path" : "/quarantine/whitelist",
"text" : "whitelist"
},
{
- "children" : [
- {
- "info" : {
- "DELETE" : {
- "description" : "Delete user blacklist entries.",
- "method" : "DELETE",
- "name" : "blacklist_delete",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "address" : {
- "description" : "The address you want to remove.",
- "maxLength" : 512,
- "minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
- "type" : "string"
- },
- "pmail" : {
- "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "qmanager",
- "audit",
- "quser"
- ]
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete user blacklist entries.",
+ "method" : "DELETE",
+ "name" : "blacklist_delete_base",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "address" : {
+ "description" : "The address, or comma-separated list of addresses, you want to remove.",
+ "minLength" : 3,
+ "pattern" : "",
+ "type" : "string"
},
- "protected" : 1,
- "returns" : {
- "type" : "null"
+ "pmail" : {
+ "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
+ "maxLength" : 512,
+ "minLength" : 3,
+ "optional" : 1,
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
}
},
- "leaf" : 1,
- "path" : "/quarantine/blacklist/{address}",
- "text" : "{address}"
- }
- ],
- "info" : {
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit",
+ "quser"
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
"GET" : {
+ "allowtoken" : 1,
"description" : "Show user blacklist.",
"method" : "GET",
"name" : "blacklist",
"additionalProperties" : 0,
"properties" : {
"pmail" : {
- "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
+ "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
+ "maxLength" : 512,
+ "minLength" : 3,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
}
},
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Add user blacklist entries.",
"method" : "POST",
"name" : "blacklist_add",
"properties" : {
"address" : {
"description" : "The address you want to add.",
- "maxLength" : 512,
"minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
"type" : "string"
},
"pmail" : {
- "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
+ "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
+ "maxLength" : 512,
+ "minLength" : 3,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
}
},
}
}
},
- "leaf" : 0,
+ "leaf" : 1,
"path" : "/quarantine/blacklist",
"text" : "blacklist"
},
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get a list of receivers of spam in the given timespan (Default the last 24 hours).",
"method" : "GET",
"name" : "spamusers",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get Spam Quarantine Status",
"method" : "GET",
"name" : "spamstatus",
{
"info" : {
"GET" : {
- "description" : "Get a list of users with whitelist/blacklist setttings.",
+ "allowtoken" : 1,
+ "description" : "Get a list of users with whitelist/blacklist settings.",
"method" : "GET",
"name" : "quarusers",
"parameters" : {
- "additionalProperties" : 0
+ "additionalProperties" : 0,
+ "properties" : {
+ "list" : {
+ "description" : "If set, limits the result to the given list.",
+ "enum" : [
+ "BL",
+ "WL"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ }
},
"permissions" : {
"check" : [
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get a list of quarantined spam mails in the given timeframe (default the last 24 hours) for the given user.",
"method" : "GET",
"name" : "spam",
"typetext" : "<integer> (1 - N)"
},
"pmail" : {
- "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
+ "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
+ "maxLength" : 512,
+ "minLength" : 3,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
},
"starttime" : {
"description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
}
},
"leaf" : 1,
- "path" : "/quarantine/spam",
- "text" : "spam"
+ "path" : "/quarantine/spam",
+ "text" : "spam"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get a list of quarantined virus mails in the given timeframe (default the last 24 hours).",
+ "method" : "GET",
+ "name" : "virus",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "endtime" : {
+ "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "starttime" : {
+ "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit"
+ ]
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "bytes" : {
+ "description" : "Size of raw email.",
+ "type" : "integer"
+ },
+ "envelope_sender" : {
+ "description" : "SMTP envelope sender.",
+ "type" : "string"
+ },
+ "from" : {
+ "description" : "Header 'From' field.",
+ "type" : "string"
+ },
+ "id" : {
+ "description" : "Unique ID",
+ "type" : "string"
+ },
+ "receiver" : {
+ "description" : "Receiver email address",
+ "type" : "string"
+ },
+ "sender" : {
+ "description" : "Header 'Sender' field.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "subject" : {
+ "description" : "Header 'Subject' field.",
+ "type" : "string"
+ },
+ "time" : {
+ "description" : "Receive time stamp",
+ "type" : "integer"
+ },
+ "virusname" : {
+ "description" : "Virus name.",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/quarantine/virus",
+ "text" : "virus"
},
{
"info" : {
"GET" : {
- "description" : "Get a list of quarantined virus mails in the given timeframe (default the last 24 hours).",
+ "allowtoken" : 1,
+ "description" : "Get a list of quarantined attachment mails in the given timeframe (default the last 24 hours).",
"method" : "GET",
- "name" : "virus",
+ "name" : "attachment",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"time" : {
"description" : "Receive time stamp",
"type" : "integer"
- },
- "virusname" : {
- "description" : "Virus name.",
- "type" : "string"
}
},
"type" : "object"
}
},
"leaf" : 1,
- "path" : "/quarantine/virus",
- "text" : "virus"
+ "path" : "/quarantine/attachment",
+ "text" : "attachment"
},
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get Virus Quarantine Status",
"method" : "GET",
"name" : "virusstatus",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get email data. There is a special formatter called 'htmlmail' to get sanitized html view of the mail content (use the '/api2/htmlmail/quarantine/content' url).",
"method" : "GET",
"name" : "content",
},
"raw" : {
"default" : 0,
- "description" : "Display 'raw' eml data. This is only used with the 'htmlmail' formatter.",
+ "description" : "Display 'raw' eml data. Deactivates size limit.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
}
},
"POST" : {
+ "allowtoken" : 1,
"description" : "Execute quarantine actions.",
"method" : "POST",
"name" : "action",
"type" : "string"
},
"id" : {
+ "description" : "Unique IDs, separate with ;",
+ "pattern" : "C\\d+R\\d+T\\d+(;C\\d+R\\d+T\\d+)*",
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "quser"
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/quarantine/content",
+ "text" : "content"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get Attachments for E-Mail in Quarantine.",
+ "method" : "GET",
+ "name" : "listattachments",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "id" : {
+ "description" : "Unique ID",
+ "maxLength" : 60,
+ "pattern" : "C\\d+R\\d+T\\d+",
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit"
+ ]
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "content-type" : {
+ "description" : "Raw email header data.",
+ "type" : "string"
+ },
+ "id" : {
+ "description" : "Attachment ID",
+ "type" : "integer"
+ },
+ "name" : {
+ "description" : "Raw email header data.",
+ "type" : "string"
+ },
+ "size" : {
+ "description" : "Size of raw attachment in bytes.",
+ "type" : "integer"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/quarantine/listattachments",
+ "text" : "listattachments"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Download E-Mail or Attachment from Quarantine.",
+ "download" : 1,
+ "method" : "GET",
+ "name" : "download",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "attachmentid" : {
+ "description" : "The Attachment ID for the mail.",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "mailid" : {
"description" : "Unique ID",
"maxLength" : 60,
"pattern" : "C\\d+R\\d+T\\d+",
"check" : [
"admin",
"qmanager",
+ "audit",
"quser"
]
},
+ "returns" : {
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/quarantine/download",
+ "text" : "download"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Send Quarantine link to given e-mail.",
+ "method" : "POST",
+ "name" : "sendlink",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "mail" : {
+ "description" : "Email Address (allow most characters).",
+ "maxLength" : 512,
+ "minLength" : 3,
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "user" : "world"
+ },
"protected" : 1,
"returns" : {
"type" : "null"
}
},
"leaf" : 1,
- "path" : "/quarantine/content",
- "text" : "content"
+ "path" : "/quarantine/sendlink",
+ "text" : "sendlink"
}
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Directory index.",
"method" : "GET",
"name" : "index",
{
"children" : [
{
- "children" : [
- {
- "info" : {
- "GET" : {
- "description" : "Detailed Contact Statistics.",
- "method" : "GET",
- "name" : "contactdetails",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "contact" : {
- "description" : "Contact email address.",
- "maxLength" : 512,
- "minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
- "type" : "string"
- },
- "day" : {
- "description" : "Day of month. Get statistics for a single day.",
- "maximum" : 31,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 31)"
- },
- "endtime" : {
- "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- },
- "filter" : {
- "description" : "Sender address filter.",
- "maxLength" : 512,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "month" : {
- "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
- "maximum" : 12,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 12)"
- },
- "orderby" : {
- "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
- "maxLength" : 4096,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "starttime" : {
- "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "year" : {
- "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
- "maximum" : 3000,
- "minimum" : 1900,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1900 - 3000)"
- }
- }
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Contact Address Statistics.",
+ "method" : "GET",
+ "name" : "contact",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "day" : {
+ "description" : "Day of month. Get statistics for a single day.",
+ "maximum" : 31,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 31)"
},
- "permissions" : {
- "check" : [
- "admin",
- "qmanager",
- "audit"
- ]
+ "endtime" : {
+ "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
},
- "returns" : {
- "items" : {
- "properties" : {
- "blocked" : {
- "description" : "Mail was blocked.",
- "type" : "boolean"
- },
- "bytes" : {
- "description" : "Mail traffic (Bytes).",
- "type" : "number"
- },
- "sender" : {
- "description" : "Sender email.",
- "type" : "string"
- },
- "spamlevel" : {
- "description" : "Spam score.",
- "type" : "number"
- },
- "time" : {
- "description" : "Receive time stamp",
- "type" : "integer"
- },
- "virusinfo" : {
- "description" : "Virus name.",
- "optional" : 1,
- "type" : "string"
- }
- },
- "type" : "object"
+ "filter" : {
+ "description" : "Contact address filter.",
+ "maxLength" : 512,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "month" : {
+ "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
+ "maximum" : 12,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 12)"
+ },
+ "orderby" : {
+ "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "starttime" : {
+ "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "year" : {
+ "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
+ "maximum" : 3000,
+ "minimum" : 1900,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1900 - 3000)"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit"
+ ]
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "bytes" : {
+ "description" : "Mail traffic (Bytes).",
+ "type" : "number"
},
- "type" : "array"
+ "contact" : {
+ "description" : "Contact email.",
+ "type" : "string"
+ },
+ "count" : {
+ "description" : "Mail count.",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "viruscount" : {
+ "description" : "Number of sent virus mails.",
+ "optional" : 1,
+ "type" : "number"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{contact}",
+ "rel" : "child"
}
- }
- },
- "leaf" : 1,
- "path" : "/statistics/contact/{contact}",
- "text" : "{contact}"
+ ],
+ "type" : "array"
+ }
}
- ],
+ },
+ "leaf" : 1,
+ "path" : "/statistics/contact",
+ "text" : "contact"
+ },
+ {
"info" : {
"GET" : {
- "description" : "Contact Address Statistics.",
+ "allowtoken" : 1,
+ "description" : "Detailed Statistics.",
"method" : "GET",
- "name" : "contact",
+ "name" : "detailstats",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "address" : {
+ "description" : "Email address.",
+ "maxLength" : 512,
+ "minLength" : 3,
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
+ },
"day" : {
"description" : "Day of month. Get statistics for a single day.",
"maximum" : 31,
"typetext" : "<integer> (1 - N)"
},
"filter" : {
- "description" : "Contact address filter.",
+ "description" : "Address filter.",
"maxLength" : 512,
"optional" : 1,
"type" : "string",
"type" : "integer",
"typetext" : "<integer> (0 - N)"
},
+ "type" : {
+ "description" : "Type of statistics",
+ "enum" : [
+ "contact",
+ "sender",
+ "receiver"
+ ],
+ "type" : "string"
+ },
"year" : {
"description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
"maximum" : 3000,
"returns" : {
"items" : {
"properties" : {
+ "blocked" : {
+ "description" : "Mail was blocked.",
+ "type" : "boolean"
+ },
"bytes" : {
"description" : "Mail traffic (Bytes).",
"type" : "number"
},
- "contact" : {
- "description" : "Contact email.",
+ "receiver" : {
+ "description" : "Receiver email. (for sender statistics)",
+ "optional" : 1,
"type" : "string"
},
- "count" : {
- "description" : "Mail count.",
+ "sender" : {
+ "description" : "Sender email. (for contact and receiver statistics)",
"optional" : 1,
+ "type" : "string"
+ },
+ "spamlevel" : {
+ "description" : "Spam score.",
"type" : "number"
},
- "viruscount" : {
- "description" : "Number of sent virus mails.",
+ "time" : {
+ "description" : "Receive time stamp",
+ "type" : "integer"
+ },
+ "virusinfo" : {
+ "description" : "Virus name.",
"optional" : 1,
- "type" : "number"
+ "type" : "string"
}
},
"type" : "object"
},
- "links" : [
- {
- "href" : "{contact}",
- "rel" : "child"
- }
- ],
"type" : "array"
}
}
},
- "leaf" : 0,
- "path" : "/statistics/contact",
- "text" : "contact"
+ "leaf" : 1,
+ "path" : "/statistics/detail",
+ "text" : "detail"
},
{
- "children" : [
- {
- "info" : {
- "GET" : {
- "description" : "Detailed Sender Statistics.",
- "method" : "GET",
- "name" : "senderdetails",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "day" : {
- "description" : "Day of month. Get statistics for a single day.",
- "maximum" : 31,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 31)"
- },
- "endtime" : {
- "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- },
- "filter" : {
- "description" : "Receiver address filter.",
- "maxLength" : 512,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "month" : {
- "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
- "maximum" : 12,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 12)"
- },
- "orderby" : {
- "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
- "maxLength" : 4096,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "sender" : {
- "description" : "Sender email address.",
- "maxLength" : 512,
- "minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
- "type" : "string"
- },
- "starttime" : {
- "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "year" : {
- "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
- "maximum" : 3000,
- "minimum" : 1900,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1900 - 3000)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "qmanager",
- "audit"
- ]
- },
- "returns" : {
- "items" : {
- "properties" : {
- "blocked" : {
- "description" : "Mail was blocked.",
- "type" : "boolean"
- },
- "bytes" : {
- "description" : "Mail traffic (Bytes).",
- "type" : "number"
- },
- "receiver" : {
- "description" : "Receiver email.",
- "type" : "string"
- },
- "spamlevel" : {
- "description" : "Spam score.",
- "type" : "number"
- },
- "time" : {
- "description" : "Receive time stamp",
- "type" : "integer"
- },
- "virusinfo" : {
- "description" : "Virus name.",
- "optional" : 1,
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "type" : "array"
- }
- }
- },
- "leaf" : 1,
- "path" : "/statistics/sender/{sender}",
- "text" : "{sender}"
- }
- ],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Sender Address Statistics.",
"method" : "GET",
"name" : "sender",
}
}
},
- "leaf" : 0,
+ "leaf" : 1,
"path" : "/statistics/sender",
"text" : "sender"
},
{
- "children" : [
- {
- "info" : {
- "GET" : {
- "description" : "Detailed Receiver Statistics.",
- "method" : "GET",
- "name" : "receiverdetails",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "day" : {
- "description" : "Day of month. Get statistics for a single day.",
- "maximum" : 31,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 31)"
- },
- "endtime" : {
- "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- },
- "filter" : {
- "description" : "Sender address filter.",
- "maxLength" : 512,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "month" : {
- "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
- "maximum" : 12,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 12)"
- },
- "orderby" : {
- "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
- "maxLength" : 4096,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "receiver" : {
- "description" : "Receiver email address.",
- "maxLength" : 512,
- "minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
- "type" : "string"
- },
- "starttime" : {
- "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "year" : {
- "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
- "maximum" : 3000,
- "minimum" : 1900,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1900 - 3000)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "qmanager",
- "audit"
- ]
- },
- "returns" : {
- "items" : {
- "properties" : {
- "blocked" : {
- "description" : "Mail was blocked.",
- "type" : "boolean"
- },
- "bytes" : {
- "description" : "Mail traffic (Bytes).",
- "type" : "number"
- },
- "sender" : {
- "description" : "Sender email.",
- "type" : "string"
- },
- "spamlevel" : {
- "description" : "Spam score.",
- "type" : "number"
- },
- "time" : {
- "description" : "Receive time stamp",
- "type" : "integer"
- },
- "virusinfo" : {
- "description" : "Virus name.",
- "optional" : 1,
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "type" : "array"
- }
- }
- },
- "leaf" : 1,
- "path" : "/statistics/receiver/{receiver}",
- "text" : "{receiver}"
- }
- ],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Receiver Address Statistics.",
"method" : "GET",
"name" : "receiver",
}
}
},
- "leaf" : 0,
+ "leaf" : 1,
"path" : "/statistics/receiver",
"text" : "receiver"
},
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Mail Domains Statistics.",
"method" : "GET",
"name" : "domains",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "General Mail Statistics.",
"method" : "GET",
"name" : "mail",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Mail Count Statistics.",
"method" : "GET",
"name" : "recent",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Top recent Mail Receivers (including spam)",
"method" : "GET",
"name" : "recentreceivers",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Mail Count Statistics.",
"method" : "GET",
"name" : "mailcount",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get Statistics about detected Viruses.",
"method" : "GET",
"name" : "virus",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.",
"method" : "GET",
"name" : "spamscores",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.",
"method" : "GET",
"name" : "maildistribution",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Early SMTP reject count statistic (RBL, PREGREET rejects with postscreen)",
"method" : "GET",
"name" : "rejectcount",
],
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "Directory index.",
"method" : "GET",
"name" : "index",
{
"info" : {
"GET" : {
+ "allowtoken" : 1,
"description" : "API version details.",
"method" : "GET",
"name" : "version",
"returns" : {
"properties" : {
"release" : {
+ "description" : "The current installed Proxmox Mailgateway Release",
"type" : "string"
},
"repoid" : {
+ "description" : "The short git commit hash ID from which this version was build",
"type" : "string"
},
"version" : {
+ "description" : "The current installed pmg-api package version",
"type" : "string"
}
},