- "description" : "Operational mode. You can either match 'any' user, match when no such user exists with 'none', or match when the user is member of a specific group.",
- "description" : "Operational mode. You can either match 'any' user, match when no such user exists with 'none', or match when the user is member of a specific group.",
+ "description" : "Operational mode. You can either match 'any' user, match when no such user exists with 'none', or match when the user is member of a specific group.",
+ "description" : "Operational mode. You can either match 'any' user, match when no such user exists with 'none', or match when the user is member of a specific group.",
+ "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.",
- "description" : "Target host (name or IP address).",
- "format" : "address",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "port" : {
- "description" : "SMTP port.",
- "maximum" : 65535,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 65535)"
- },
- "use_mx" : {
- "description" : "Enable MX lookups.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- }
- }
- },
- "protected" : 1,
- "proxyto" : "master",
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 1,
- "path" : "/config/transport/{domain}",
- "text" : "{domain}"
- }
- ],
"info" : {
"GET" : {
- "description" : "List transport map entries.",
+ "allowtoken" : 1,
+ "description" : "Read mail configuration properties.",
"method" : "GET",
- "name" : "index",
+ "name" : "read_mail_section",
"parameters" : {
"additionalProperties" : 0
},
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
"proxyto" : "master",
"returns" : {
- "items" : {
- "properties" : {
- "comment" : {
- "type" : "string"
- },
- "domain" : {
- "type" : "string"
- },
- "host" : {
- "type" : "string"
- },
- "port" : {
- "type" : "integer"
- },
- "use_mx" : {
- "type" : "boolean"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{id}",
- "rel" : "child"
- }
- ],
- "type" : "array"
+ "type" : "object"
}
},
- "POST" : {
- "description" : "Add transport map entry.",
- "method" : "POST",
- "name" : "create",
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update mail configuration properties.",
+ "method" : "PUT",
+ "name" : "update_mail_section",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "comment" : {
- "description" : "Comment.",
+ "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" : "string",
- "typetext" : "<string>"
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 32)"
},
- "domain" : {
- "description" : "Domain name.",
- "format" : "transport-domain",
- "type" : "string",
- "typetext" : "<string>"
+ "greylistmask6" : {
+ "default" : 64,
+ "description" : "Netmask to apply for greylisting IPv6 hosts",
+ "maximum" : 128,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 128)"
},
- "host" : {
- "description" : "Target host (name or IP address).",
- "format" : "address",
- "type" : "string",
- "typetext" : "<string>"
+ "helotests" : {
+ "default" : 0,
+ "description" : "Use SMTP HELO tests.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
- "port" : {
- "default" : 25,
- "description" : "SMTP port.",
+ "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)"
},
- "use_mx" : {
- "default" : 1,
- "description" : "Enable MX lookups.",
+ "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>"
- }
- }
- },
- "protected" : 1,
- "proxyto" : "master",
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 0,
- "path" : "/config/transport",
- "text" : "transport"
- },
- {
- "children" : [
- {
- "info" : {
- "DELETE" : {
- "description" : "Delete a truster network",
- "method" : "DELETE",
- "name" : "delete",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "cidr" : {
- "description" : "IPv4 or IPv6 network in CIDR notation.",
- "format" : "CIDR",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "protected" : 1,
- "proxyto" : "master",
- "returns" : {
- "type" : "null"
- }
- },
- "GET" : {
- "description" : "Read trusted network data (comment).",
- "method" : "GET",
- "name" : "read",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "cidr" : {
- "description" : "IPv4 or IPv6 network in CIDR notation.",
- "format" : "CIDR",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
},
- "proxyto" : "master",
- "returns" : {
- "properties" : {
- "cidr" : {
- "type" : "string"
- },
- "comment" : {
- "type" : "string"
- }
- },
- "type" : "object"
- }
- },
- "PUT" : {
- "description" : "Update trusted data (comment).",
- "method" : "PUT",
- "name" : "write",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "cidr" : {
- "description" : "IPv4 or IPv6 network in CIDR notation.",
- "type" : "string",
- "typetext" : "<string>"
- },
- "comment" : {
- "description" : "Comment.",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
+ "rejectunknown" : {
+ "default" : 0,
+ "description" : "Reject unknown clients.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
- "protected" : 1,
- "proxyto" : "master",
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 1,
- "path" : "/config/mynetworks/{cidr}",
- "text" : "{cidr}"
- }
- ],
- "info" : {
- "GET" : {
- "description" : "List of trusted networks from where SMTP clients are allowed to relay mail through Proxmox Mail Gateway.",
- "method" : "GET",
- "name" : "index",
- "parameters" : {
- "additionalProperties" : 0
- },
- "proxyto" : "master",
- "returns" : {
- "items" : {
- "properties" : {
- "cidr" : {
- "type" : "string"
- }
+ "rejectunknownsender" : {
+ "default" : 0,
+ "description" : "Reject unknown senders.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{cide}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- },
- "POST" : {
- "description" : "Add a trusted network.",
- "method" : "POST",
- "name" : "create",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "cidr" : {
- "description" : "IPv4 or IPv6 network in CIDR notation.",
- "format" : "CIDR",
+ "relay" : {
+ "description" : "The default mail delivery transport (incoming mails).",
+ "format" : "address",
+ "optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "comment" : {
- "description" : "Comment.",
+ "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>"
- }
- }
- },
- "protected" : 1,
- "proxyto" : "master",
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 0,
- "path" : "/config/mynetworks",
- "text" : "mynetworks"
- },
- {
- "children" : [
- {
- "info" : {
- "GET" : {
- "description" : "Cluster node index.",
- "method" : "GET",
- "name" : "nodes",
- "parameters" : {
- "additionalProperties" : 0
- },
- "permissions" : {
- "check" : [
- "admin"
- ]
- },
- "returns" : {
- "items" : {
- "properties" : {
- "cid" : {
- "type" : "integer"
- },
- "fingerprint" : {
- "type" : "string"
- },
- "hostrsapubkey" : {
- "type" : "string"
- },
- "ip" : {
- "type" : "string"
- },
- "name" : {
- "type" : "string"
- },
- "rootrsapubkey" : {
- "type" : "string"
- },
- "type" : {
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{cid}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- },
- "POST" : {
- "description" : "Add an node to the cluster config.",
+ "description" : "Enable receiver verification. The value spefifies the numerical reply code when the Postfix SMTP server rejects a recipient address.",
- "description" : "Wether to block encrypted archives. Mark encrypted archives as viruses.",
+ "allowhrefs" : {
+ "default" : 1,
+ "description" : "Allow to view hyperlinks.",
"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.",
+ "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",
- "typetext" : "<string>"
+ "type" : "string"
},
"delete" : {
"description" : "A list of settings you want to delete.",
- "description" : "This option sets the lowest number of Credit Card or Social Security numbers found in a file to generate a detect.",
- "minimum" : 0,
+ "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> (0 - N)"
+ "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>"
},
- "maxscansize" : {
- "default" : 100000000,
- "description" : "Sets the maximum amount of data to be scanned for each input file.",
- "minimum" : 1000000,
+ "reportstyle" : {
+ "default" : "verbose",
+ "description" : "Spam report style.",
+ "enum" : [
+ "none",
+ "short",
+ "verbose",
+ "custom"
+ ],
"optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1000000 - N)"
+ "type" : "string"
},
- "safebrowsing" : {
+ "viewimages" : {
"default" : 1,
- "description" : "Enables support for Google Safe Browsing.",
- "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,
+ "allowhrefs" : {
+ "default" : 1,
+ "description" : "Allow to view hyperlinks.",
"optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
"delete" : {
"description" : "A list of settings you want to delete.",
- "description" : "Maximum email size. Larger mails are rejected.",
- "minimum" : 1024,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1024 - N)"
+ "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>"
+ }
+ }
},
- "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)"
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
},
- "rejectunknown" : {
- "default" : 0,
- "description" : "Reject unknown clients.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "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"
+ }
+ }
},
- "rejectunknownsender" : {
- "default" : 0,
- "description" : "Reject unknown senders.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "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>"
+ }
+ }
},
- "relay" : {
- "description" : "The default mail delivery transport (incoming mails).",
- "format" : "address",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
},
- "relaynomx" : {
- "default" : 0,
- "description" : "Disable MX lookups for default relay.",
+ "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>"
+ }
+ }
},
- "tlsheader" : {
- "default" : 0,
- "description" : "Add TLS received header.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/network",
+ "text" : "network"
+ },
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "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"
+ }
+ }
+ },
+ "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>"
+ }
+ }
+ },
+ "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" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "upid" : {
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "",
+ "method" : "GET",
+ "name" : "upid_index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "upid" : {
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
},
- "tlslog" : {
- "default" : 0,
- "description" : "Enable TLS Logging.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "leaf" : 0,
+ "path" : "/nodes/{node}/tasks/{upid}",
+ "text" : "{upid}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read task list for one node (finished tasks).",
+ "method" : "GET",
+ "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>"
+ },
+ "start" : {
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "userfilter" : {
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
},
- "use_rbl" : {
- "default" : 1,
- "description" : "Use Realtime Blacklists.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
},
- "verifyreceivers" : {
- "description" : "Enable receiver verification. The value spefifies the numerical reply code when the Postfix SMTP server rejects a recipient address.",
- "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>"
+ {
+ "children" : [
+ {
+ "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>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ },
+ "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>"
+ },
+ "notify" : {
+ "default" : 0,
+ "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
+ "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.",
+ "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"
+ },
+ "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.",
+ "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.",
+ "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.",
+ "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.",
+ "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"
+ },
+ "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.",
+ "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.",
+ "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.",
+ "description" : "Average size of stored mails in bytes.",
+ "type" : "number"
},
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "items" : {
- "properties" : {
- "n" : {
- "description" : "Line number",
- "type" : "integer"
- },
- "t" : {
- "description" : "Line text",
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "type" : "array"
+ "avgspam" : {
+ "description" : "Average spam level.",
+ "type" : "number"
+ },
+ "count" : {
+ "description" : "Number of stored mails.",
+ "type" : "integer"
+ },
+ "mbytes" : {
+ "description" : "Estimated disk space usage in MByte.",
+ "type" : "number"
+ }
+ },
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/quarantine/spamstatus",
+ "text" : "spamstatus"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get a list of users with whitelist/blacklist settings.",
+ "method" : "GET",
+ "name" : "quarusers",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "list" : {
+ "description" : "If set, limits the result to the given list.",
+ "enum" : [
+ "BL",
+ "WL"
+ ],
+ "optional" : 1,
+ "type" : "string"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/syslog",
- "text" : "syslog"
- },
- {
- "info" : {
- "POST" : {
- "description" : "Creates a VNC Shell proxy.",
- "method" : "POST",
- "name" : "vncshell",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "websocket" : {
- "default" : 1,
- "description" : "use websocket instead of standard vnc.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- }
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit"
+ ]
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "mail" : {
+ "description" : "the receiving email",
+ "type" : "string"
}
},
- "protected" : 1,
- "returns" : {
- "additionalProperties" : 0,
- "properties" : {
- "port" : {
- "type" : "integer"
- },
- "ticket" : {
- "type" : "string"
- },
- "upid" : {
- "type" : "string"
- },
- "user" : {
- "type" : "string"
- }
- }
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/quarantine/quarusers",
+ "text" : "quarusers"
+ },
+ {
+ "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",
+ "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)"
+ },
+ "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.",
+ "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/vncshell",
- "text" : "vncshell"
- },
- {
- "info" : {
- "GET" : {
- "description" : "Opens a weksocket for VNC traffic.",
- "method" : "GET",
- "name" : "vncwebsocket",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "port" : {
- "description" : "Port number returned by previous vncproxy call.",
- "maximum" : 5999,
- "minimum" : 5900,
- "type" : "integer",
- "typetext" : "<integer> (5900 - 5999)"
- },
- "vncticket" : {
- "description" : "Ticket from previous call to vncproxy.",
- "maxLength" : 512,
- "type" : "string",
- "typetext" : "<string>"
- }
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit",
+ "quser"
+ ]
+ },
+ "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"
+ },
+ "spamlevel" : {
+ "description" : "Spam score.",
+ "type" : "number"
+ },
+ "subject" : {
+ "description" : "Header 'Subject' field.",
+ "type" : "string"
+ },
+ "time" : {
+ "description" : "Receive time stamp",
+ "type" : "integer"
}
},
- "returns" : {
- "properties" : {
- "port" : {
- "type" : "string"
- }
- },
- "type" : "object"
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "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)"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/vncwebsocket",
- "text" : "vncwebsocket"
- },
- {
- "info" : {
- "GET" : {
- "description" : "Read DNS settings.",
- "method" : "GET",
- "name" : "dns",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
+ "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"
}
},
- "proxyto" : "node",
- "returns" : {
- "additionalProperties" : 0,
- "properties" : {
- "dns1" : {
- "description" : "First name server IP address.",
- "optional" : 1,
- "type" : "string"
- },
- "dns2" : {
- "description" : "Second name server IP address.",
- "optional" : 1,
- "type" : "string"
- },
- "dns3" : {
- "description" : "Third name server IP address.",
- "optional" : 1,
- "type" : "string"
- },
- "search" : {
- "description" : "Search domain for host-name lookup.",
- "optional" : 1,
- "type" : "string"
- }
- },
- "type" : "object"
- }
+ "type" : "object"
},
- "PUT" : {
- "description" : "Write DNS settings.",
- "method" : "PUT",
- "name" : "update_dns",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "dns1" : {
- "description" : "First name server IP address.",
- "format" : "ip",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "dns2" : {
- "description" : "Second name server IP address.",
- "format" : "ip",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "dns3" : {
- "description" : "Third name server IP address.",
- "format" : "ip",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "search" : {
- "description" : "Search domain for host-name lookup.",
- "type" : "string",
- "typetext" : "<string>"
- }
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/quarantine/virus",
+ "text" : "virus"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get a list of quarantined attachment mails in the given timeframe (default the last 24 hours).",
+ "method" : "GET",
+ "name" : "attachment",
+ "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"
}
},
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
- }
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/quarantine/attachment",
+ "text" : "attachment"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get Virus Quarantine Status",
+ "method" : "GET",
+ "name" : "virusstatus",
+ "parameters" : {
+ "additionalProperties" : 0
},
- "leaf" : 1,
- "path" : "/nodes/{node}/dns",
- "text" : "dns"
- },
- {
- "info" : {
- "GET" : {
- "description" : "Read server time and time zone settings.",
- "method" : "GET",
- "name" : "time",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit"
+ ]
+ },
+ "returns" : {
+ "properties" : {
+ "avgbytes" : {
+ "description" : "Average size of stored mails in bytes.",
+ "type" : "number"
},
- "proxyto" : "node",
- "returns" : {
- "additionalProperties" : 0,
- "properties" : {
- "localtime" : {
- "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
- "minimum" : 1297163644,
- "type" : "integer"
- },
- "time" : {
- "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
- "minimum" : 1297163644,
- "type" : "integer"
- },
- "timezone" : {
- "description" : "Time zone",
- "type" : "string"
- }
- },
- "type" : "object"
+ "count" : {
+ "description" : "Number of stored mails.",
+ "type" : "integer"
+ },
+ "mbytes" : {
+ "description" : "Estimated disk space usage in MByte.",
+ "type" : "number"
}
},
- "PUT" : {
- "description" : "Set time zone.",
- "method" : "PUT",
- "name" : "set_timezone",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "timezone" : {
- "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/quarantine/virusstatus",
+ "text" : "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).",
- "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",
+ "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.",
- "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",
+ "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.",
+ "description" : "Day of month. Get statistics for a single day.",
+ "maximum" : 31,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 31)"
},
- "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",
+ "endtime" : {
+ "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
+ "minimum" : 1,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "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)"
+ },
+ "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.",
+ "description" : "Incoming mail traffic (Bytes).",
+ "type" : "number"
+ },
+ "bytes_out" : {
+ "description" : "Outgoing mail traffic (Bytes).",
+ "type" : "number"
+ },
+ "count_in" : {
+ "description" : "Incoming mail count.",
+ "type" : "number"
+ },
+ "count_out" : {
+ "description" : "Outgoing mail count.",
+ "type" : "number"
+ },
+ "domain" : {
+ "description" : "Domain name.",
+ "type" : "string"
+ },
+ "spamcount_in" : {
+ "description" : "Incoming spam mails.",
+ "type" : "number"
+ },
+ "spamcount_out" : {
+ "description" : "Outgoing spam mails.",
+ "type" : "number"
+ },
+ "viruscount_in" : {
+ "description" : "Number of incoming virus mails.",
+ "type" : "number"
+ },
+ "viruscount_out" : {
+ "description" : "Number of outgoing virus mails.",
+ "type" : "number"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
}
}
},
- "leaf" : 0,
- "path" : "/quarantine/whitelist",
- "text" : "whitelist"
+ "leaf" : 1,
+ "path" : "/statistics/domains",
+ "text" : "domains"
},
{
- "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,
- "pattern" : "[a-zA-Z0-9\\+\\-\\_\\*\\.\\@]+",
- "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>"
- }
- }
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "General Mail Statistics.",
+ "method" : "GET",
+ "name" : "mail",
+ "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)"
+ },
+ "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)"
+ },
+ "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" : {
+ "properties" : {
+ "avptime" : {
+ "description" : "Average mail processing time in seconds.",
+ "type" : "number"
+ },
+ "bounces_in" : {
+ "description" : "Incoming bounce mail count (sender = <>).",
+ "type" : "number"
+ },
+ "bounces_out" : {
+ "description" : "Outgoing bounce mail count (sender = <>).",
+ "type" : "number"
+ },
+ "bytes_in" : {
+ "description" : "Incoming mail traffic (bytes).",
+ "type" : "number"
+ },
+ "bytes_out" : {
+ "description" : "Outgoing mail traffic (bytes).",
+ "type" : "number"
+ },
+ "count" : {
+ "description" : "Overall mail count (in and out).",
+ "description" : "Outgoing junk mail count (viruscount_out + spamcount_out).",
+ "type" : "number"
+ },
+ "pregreet_rejects" : {
+ "description" : "PREGREET recject count.",
+ "type" : "integer"
+ },
+ "rbl_rejects" : {
+ "description" : "Number of RBL rejects.",
+ "type" : "integer"
+ },
+ "spamcount_in" : {
+ "description" : "Incoming spam mails.",
+ "type" : "number"
+ },
+ "spamcount_out" : {
+ "description" : "Outgoing spam mails.",
+ "type" : "number"
+ },
+ "spfcount" : {
+ "description" : "Mails rejected by SPF.",
+ "type" : "number"
},
- "permissions" : {
- "check" : [
- "admin",
- "qmanager",
- "audit",
- "quser"
- ]
+ "viruscount_in" : {
+ "description" : "Number of incoming virus mails.",
+ "type" : "number"
},
- "protected" : 1,
- "returns" : {
- "type" : "null"
+ "viruscount_out" : {
+ "description" : "Number of outgoing virus mails.",
+ "type" : "number"
}
- }
- },
- "leaf" : 1,
- "path" : "/quarantine/blacklist/{address}",
- "text" : "{address}"
+ },
+ "type" : "object"
+ }
}
- ],
+ },
+ "leaf" : 1,
+ "path" : "/statistics/mail",
+ "text" : "mail"
+ },
+ {
"info" : {
"GET" : {
- "description" : "Show user blacklist.",
+ "allowtoken" : 1,
+ "description" : "Mail Count Statistics.",
"method" : "GET",
- "name" : "blacklist",
+ "name" : "recent",
"parameters" : {
"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",
+ "hours" : {
+ "default" : 12,
+ "description" : "How many hours you want to get",
+ "maximum" : 24,
+ "minimum" : 1,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 24)"
+ },
+ "timespan" : {
+ "default" : 1800,
+ "description" : "The Timespan for one datapoint (in seconds)",
+ "description" : "Timespan in seconds for one data point",
+ "type" : "number"
+ },
+ "virus_in" : {
+ "description" : "Number of incoming virus mails.",
+ "type" : "number"
+ },
+ "virus_out" : {
+ "description" : "Number of outgoing virus mails.",
+ "type" : "number"
}
},
"type" : "object"
},
"type" : "array"
}
- },
- "POST" : {
- "description" : "Add user blacklist entries.",
- "method" : "POST",
- "name" : "blacklist_add",
+ }
+ },
+ "leaf" : 1,
+ "path" : "/statistics/recent",
+ "text" : "recent"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Top recent Mail Receivers (including spam)",
+ "method" : "GET",
+ "name" : "recentreceivers",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "address" : {
- "description" : "The address you want to add.",
- "maxLength" : 512,
- "pattern" : "[a-zA-Z0-9\\+\\-\\_\\*\\.\\@]+",
- "type" : "string"
+ "hours" : {
+ "default" : 12,
+ "description" : "How many hours you want to get",
+ "maximum" : 24,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 24)"
},
- "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",
+ "limit" : {
+ "default" : 5,
+ "description" : "The maximum number of receivers to return.",
+ "description" : "The count of incoming not blocked E-Mails",
+ "type" : "integer"
+ },
+ "receiver" : {
+ "description" : "The receiver",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
}
}
},
- "leaf" : 0,
- "path" : "/quarantine/blacklist",
- "text" : "blacklist"
+ "leaf" : 1,
+ "path" : "/statistics/recentreceivers",
+ "text" : "recentreceivers"
},
{
- "children" : [
- {
- "info" : {
- "GET" : {
- "description" : "Show spam mails distribution (per day).",
- "method" : "GET",
- "name" : "spamlist",
- "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)"
- },
- "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.",
+ "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)"
},
- "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",
+ "month" : {
+ "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
- "description" : "Number of quarantine entries.",
- "type" : "integer"
- },
- "day" : {
- "description" : "Day (as unix epoch).",
+ "description" : "Detection count.",
"type" : "integer"
},
- "spamavg" : {
- "description" : "Average spam level.",
- "type" : "number"
+ "name" : {
+ "description" : "Virus name.",
+ "type" : "string"
}
},
"type" : "object"
},
- "links" : [
- {
- "href" : "{day}",
- "rel" : "child"
- }
- ],
"type" : "array"
}
}
},
- "leaf" : 0,
- "path" : "/quarantine/spam",
- "text" : "spam"
+ "leaf" : 1,
+ "path" : "/statistics/virus",
+ "text" : "virus"
},
{
"info" : {
"GET" : {
- "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).",
+ "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" : "content",
+ "name" : "spamscores",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "id" : {
- "description" : "Unique ID",
- "maxLength" : 40,
- "pattern" : "C\\d+R\\d+",
- "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)"
},
- "raw" : {
- "default" : 0,
- "description" : "Display 'raw' eml data. This is only used with the 'htmlmail' formatter.",
+ "endtime" : {
+ "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
+ "minimum" : 1,
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "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)"
+ },
+ "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.",