-var pmgapi = [
+var apiSchema = [
{
"children" : [
{
"type" : "integer",
"typetext" : "<integer> (0 - 2)"
},
+ "from-and" : {
+ "default" : 0,
+ "description" : "Flag to 'and' combine FROM group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "from-invert" : {
+ "default" : 0,
+ "description" : "Flag to invert FROM group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"id" : {
"description" : "Rule ID.",
"type" : "integer",
"typetext" : "<string>"
},
"priority" : {
- "description" : "Rule priotity.",
+ "description" : "Rule priority.",
"maximum" : 100,
"minimum" : 0,
"optional" : 1,
"type" : "integer",
"typetext" : "<integer> (0 - 100)"
+ },
+ "to-and" : {
+ "default" : 0,
+ "description" : "Flag to 'and' combine TO group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "to-invert" : {
+ "default" : 0,
+ "description" : "Flag to invert TO group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "what-and" : {
+ "default" : 0,
+ "description" : "Flag to 'and' combine WHAT group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "what-invert" : {
+ "default" : 0,
+ "description" : "Flag to invert WHAT group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "when-and" : {
+ "default" : 0,
+ "description" : "Flag to 'and' combine WHEN group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "when-invert" : {
+ "default" : 0,
+ "description" : "Flag to invert WHEN group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
}
}
},
"type" : "integer",
"typetext" : "<integer> (0 - 2)"
},
+ "from-and" : {
+ "default" : 0,
+ "description" : "Flag to 'and' combine FROM group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "from-invert" : {
+ "default" : 0,
+ "description" : "Flag to invert FROM group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"name" : {
"description" : "Rule name",
"type" : "string",
"typetext" : "<string>"
},
"priority" : {
- "description" : "Rule priotity.",
+ "description" : "Rule priority.",
"maximum" : 100,
"minimum" : 0,
"type" : "integer",
"typetext" : "<integer> (0 - 100)"
+ },
+ "to-and" : {
+ "default" : 0,
+ "description" : "Flag to 'and' combine TO group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "to-invert" : {
+ "default" : 0,
+ "description" : "Flag to invert TO group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "what-and" : {
+ "default" : 0,
+ "description" : "Flag to 'and' combine WHAT group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "what-invert" : {
+ "default" : 0,
+ "description" : "Flag to invert WHAT group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "when-and" : {
+ "default" : 0,
+ "description" : "Flag to 'and' combine WHEN group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "when-invert" : {
+ "default" : 0,
+ "description" : "Flag to invert WHEN group matches.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
}
}
},
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "add-separator" : {
+ "default" : 1,
+ "description" : "If set to 1, adds a '--' separator between the disclaimer and the content. Set to 0 to prevent that.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"disclaimer" : {
"description" : "The Disclaimer",
"maxLength" : 2048,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
+ },
+ "position" : {
+ "default" : "end",
+ "description" : "Put the disclaimer at the specified position.",
+ "enum" : [
+ "start",
+ "end"
+ ],
+ "optional" : 1,
+ "type" : "string"
}
}
},
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "add-separator" : {
+ "default" : 1,
+ "description" : "If set to 1, adds a '--' separator between the disclaimer and the content. Set to 0 to prevent that.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"disclaimer" : {
"description" : "The Disclaimer",
"maxLength" : 2048,
"maxLength" : 255,
"type" : "string",
"typetext" : "<string>"
+ },
+ "position" : {
+ "default" : "end",
+ "description" : "Put the disclaimer at the specified position.",
+ "enum" : [
+ "start",
+ "end"
+ ],
+ "optional" : 1,
+ "type" : "string"
}
}
},
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "and" : {
+ "default" : 0,
+ "description" : "If set to 1, objects in this group are 'and' combined.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"info" : {
"description" : "Informational comment.",
"maxLength" : 255,
"type" : "string",
"typetext" : "<string>"
},
+ "invert" : {
+ "default" : 0,
+ "description" : "If set to 1, the resulting match is inverted.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"name" : {
"description" : "Group name.",
"maxLength" : 255,
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "and" : {
+ "default" : 0,
+ "description" : "If set to 1, objects in this group are 'and' combined.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"info" : {
"description" : "Informational comment.",
"maxLength" : 255,
"type" : "string",
"typetext" : "<string>"
},
+ "invert" : {
+ "default" : 0,
+ "description" : "If set to 1, the resulting match is inverted.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"name" : {
"description" : "Group name.",
"maxLength" : 255,
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "and" : {
+ "default" : 0,
+ "description" : "If set to 1, objects in this group are 'and' combined.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"info" : {
"description" : "Informational comment.",
"maxLength" : 255,
"type" : "string",
"typetext" : "<string>"
},
+ "invert" : {
+ "default" : 0,
+ "description" : "If set to 1, the resulting match is inverted.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"name" : {
"description" : "Group name.",
"maxLength" : 255,
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "and" : {
+ "default" : 0,
+ "description" : "If set to 1, objects in this group are 'and' combined.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"info" : {
"description" : "Informational comment.",
"maxLength" : 255,
"type" : "string",
"typetext" : "<string>"
},
+ "invert" : {
+ "default" : 0,
+ "description" : "If set to 1, the resulting match is inverted.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"name" : {
"description" : "Group name.",
"maxLength" : 255,
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "and" : {
+ "default" : 0,
+ "description" : "If set to 1, objects in this group are 'and' combined.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"info" : {
"description" : "Informational comment.",
"maxLength" : 255,
"type" : "string",
"typetext" : "<string>"
},
+ "invert" : {
+ "default" : 0,
+ "description" : "If set to 1, the resulting match is inverted.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"name" : {
"description" : "Group name.",
"maxLength" : 255,
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "and" : {
+ "default" : 0,
+ "description" : "If set to 1, objects in this group are 'and' combined.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"info" : {
"description" : "Informational comment.",
"maxLength" : 255,
"type" : "string",
"typetext" : "<string>"
},
+ "invert" : {
+ "default" : 0,
+ "description" : "If set to 1, the resulting match is inverted.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"name" : {
"description" : "Group name.",
"maxLength" : 255,
"typetext" : "<string>"
},
"digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"properties" : {
"email" : {
"description" : "Email address.",
- "format" : "email",
- "type" : "string",
- "typetext" : "<string>"
+ "maxLength" : 512,
+ "minLength" : 3,
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
},
"profile" : {
"description" : "Profile ID.",
"hostrsapubkey" : {
"description" : "Public SSH RSA key for the host.",
"optional" : 0,
- "pattern" : "^[A-Za-z0-9\\.\\/\\+]{200,}$",
+ "pattern" : "^[A-Za-z0-9\\.\\/\\+=]{200,}$",
"type" : "string"
},
"ip" : {
"rootrsapubkey" : {
"description" : "Public SSH RSA key for the root user.",
"optional" : 0,
- "pattern" : "^[A-Za-z0-9\\.\\/\\+]{200,}$",
+ "pattern" : "^[A-Za-z0-9\\.\\/\\+=]{200,}$",
"type" : "string"
}
},
"path" : "/config/tlspolicy",
"text" : "tlspolicy"
},
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete a tls_inbound_domains entry",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "domain" : {
+ "description" : "Domain which should be removed from tls_inbound_domains",
+ "format" : "transport-domain",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/tls-inbound-domains/{domain}",
+ "text" : "{domain}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "List tls_inbound_domains entries.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "master",
+ "returns" : {
+ "description" : "List of domains for which TLS will be enforced on incoming connections",
+ "items" : {
+ "format" : "transport-domain",
+ "type" : "string"
+ },
+ "links" : [
+ {
+ "href" : "{domain}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Add new tls_inbound_domains entry.",
+ "method" : "POST",
+ "name" : "create",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "domain" : {
+ "description" : "Domain for which TLS should be enforced on incoming connections",
+ "format" : "transport-domain",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/config/tls-inbound-domains",
+ "text" : "tls-inbound-domains"
+ },
{
"children" : [
{
"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,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"typetext" : "<string>"
},
"digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "string"
},
"digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string"
},
"typetext" : "<string>"
},
"digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"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,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"datastore" : {
"description" : "Proxmox Backup Server datastore name.",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
+ "type" : "string"
},
"delete" : {
"description" : "A list of settings you want to delete.",
"typetext" : "<string>"
},
"digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "integer",
"typetext" : "<N>"
},
+ "namespace" : {
+ "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
+ "maxLength" : 256,
+ "optional" : 1,
+ "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
+ "type" : "string"
+ },
"notify" : {
"description" : "Specify when to notify via e-mail",
"enum" : [
"type" : "string",
"typetext" : "<string>"
},
+ "port" : {
+ "default" : 8007,
+ "description" : "Non-default port for Proxmox Backup Server.",
+ "maximum" : 65535,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 65535)"
+ },
"remote" : {
"description" : "Proxmox Backup Server ID.",
"format" : "pve-configid",
"datastore" : {
"description" : "Proxmox Backup Server datastore name.",
"optional" : 0,
+ "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
"type" : "string"
},
"disable" : {
"optional" : 1,
"type" : "integer"
},
+ "namespace" : {
+ "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
+ "maxLength" : 256,
+ "optional" : 1,
+ "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
+ "type" : "string"
+ },
"notify" : {
"description" : "Specify when to notify via e-mail",
"enum" : [
"optional" : 1,
"type" : "string"
},
+ "port" : {
+ "default" : 8007,
+ "description" : "Non-default port for Proxmox Backup Server.",
+ "maximum" : 65535,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
"remote" : {
"description" : "Proxmox Backup Server ID.",
"format" : "pve-configid",
"datastore" : {
"description" : "Proxmox Backup Server datastore name.",
"optional" : 0,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
+ "type" : "string"
},
"disable" : {
"description" : "Flag to disable (deactivate) the entry.",
"type" : "integer",
"typetext" : "<N>"
},
+ "namespace" : {
+ "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
+ "maxLength" : 256,
+ "optional" : 1,
+ "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
+ "type" : "string"
+ },
"notify" : {
"description" : "Specify when to notify via e-mail",
"enum" : [
"type" : "string",
"typetext" : "<string>"
},
+ "port" : {
+ "default" : 8007,
+ "description" : "Non-default port for Proxmox Backup Server.",
+ "maximum" : 65535,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 65535)"
+ },
"remote" : {
"description" : "Proxmox Backup Server ID.",
"format" : "pve-configid",
"ad",
"ali",
"anx",
+ "artfiles",
"arvan",
"aurora",
"autodns",
"aws",
+ "azion",
"azure",
+ "bookmyname",
+ "bunny",
"cf",
"clouddns",
"cloudns",
"cn",
"conoha",
"constellix",
- "cx",
+ "cpanel",
+ "curanet",
"cyon",
"da",
"ddnss",
"desec",
"df",
"dgon",
+ "dnsexit",
+ "dnshome",
"dnsimple",
+ "dnsservices",
"do",
"doapi",
"domeneshop",
"edgedns",
"euserv",
"exoscale",
+ "fornex",
"freedns",
"gandi_livedns",
"gcloud",
+ "gcore",
"gd",
- "gdnsdk",
+ "geoscaling",
+ "googledomains",
"he",
"hetzner",
"hexonet",
"internetbs",
"inwx",
"ionos",
+ "ipv64",
"ispconfig",
"jd",
"joker",
"kas",
"kinghost",
"knot",
+ "la",
"leaseweb",
"lexicon",
"linode",
"myapi",
"mydevil",
"mydnsjp",
+ "mythic_beasts",
"namecheap",
"namecom",
"namesilo",
+ "nanelo",
"nederhost",
"neodigit",
"netcup",
"nsone",
"nsupdate",
"nw",
+ "oci",
"one",
"online",
"openprovider",
"porkbun",
"rackcorp",
"rackspace",
+ "rage4",
"rcode0",
"regru",
"scaleway",
"schlundtech",
"selectel",
+ "selfhost",
"servercow",
"simply",
"tele3",
+ "tencent",
"transip",
+ "udr",
"ultra",
"unoeuro",
"variomedia",
+ "veesp",
+ "vercel",
"vscale",
"vultr",
"websupport",
"world4you",
"yandex",
+ "yc",
"zilore",
"zone",
"zonomi"
"typetext" : "<string>"
},
"digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"ad",
"ali",
"anx",
+ "artfiles",
"arvan",
"aurora",
"autodns",
"aws",
+ "azion",
"azure",
+ "bookmyname",
+ "bunny",
"cf",
"clouddns",
"cloudns",
"cn",
"conoha",
"constellix",
- "cx",
+ "cpanel",
+ "curanet",
"cyon",
"da",
"ddnss",
"desec",
"df",
"dgon",
+ "dnsexit",
+ "dnshome",
"dnsimple",
+ "dnsservices",
"do",
"doapi",
"domeneshop",
"edgedns",
"euserv",
"exoscale",
+ "fornex",
"freedns",
"gandi_livedns",
"gcloud",
+ "gcore",
"gd",
- "gdnsdk",
+ "geoscaling",
+ "googledomains",
"he",
"hetzner",
"hexonet",
"internetbs",
"inwx",
"ionos",
+ "ipv64",
"ispconfig",
"jd",
"joker",
"kas",
"kinghost",
"knot",
+ "la",
"leaseweb",
"lexicon",
"linode",
"myapi",
"mydevil",
"mydnsjp",
+ "mythic_beasts",
"namecheap",
"namecom",
"namesilo",
+ "nanelo",
"nederhost",
"neodigit",
"netcup",
"nsone",
"nsupdate",
"nw",
+ "oci",
"one",
"online",
"openprovider",
"porkbun",
"rackcorp",
"rackspace",
+ "rage4",
"rcode0",
"regru",
"scaleway",
"schlundtech",
"selectel",
+ "selfhost",
"servercow",
"simply",
"tele3",
+ "tencent",
"transip",
+ "udr",
"ultra",
"unoeuro",
"variomedia",
+ "veesp",
+ "vercel",
"vscale",
"vultr",
"websupport",
"world4you",
"yandex",
+ "yc",
"zilore",
"zone",
"zonomi"
"pattern" : "^https?://.*",
"type" : "string"
},
+ "eab-hmac-key" : {
+ "description" : "HMAC key for External Account Binding.",
+ "optional" : 1,
+ "requires" : "eab-kid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "eab-kid" : {
+ "description" : "Key Identifier for External Account Binding.",
+ "optional" : 1,
+ "requires" : "eab-hmac-key",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"name" : {
"default" : "default",
"description" : "ACME account config file name.",
"info" : {
"GET" : {
"allowtoken" : 1,
- "description" : "Retrieve ACME TermsOfService URL from CA.",
+ "description" : "Retrieve ACME TermsOfService URL from CA. Deprecated, please use /config/acme/meta.",
"method" : "GET",
"name" : "get_tos",
"parameters" : {
"path" : "/config/acme/tos",
"text" : "tos"
},
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Retrieve ACME Directory Meta Information",
+ "method" : "GET",
+ "name" : "get_meta",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "directory" : {
+ "default" : "https://acme-v02.api.letsencrypt.org/directory",
+ "description" : "URL of ACME CA directory endpoint.",
+ "optional" : 1,
+ "pattern" : "^https?://.*",
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "additionalProperties" : 1,
+ "properties" : {
+ "caaIdentities" : {
+ "description" : "Hostnames referring to the ACME servers.",
+ "items" : {
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
+ },
+ "externalAccountRequired" : {
+ "description" : "EAB Required",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "termsOfService" : {
+ "description" : "ACME TermsOfService URL.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "website" : {
+ "description" : "URL to more information about the ACME server.",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/acme/meta",
+ "text" : "meta"
+ },
{
"info" : {
"GET" : {
"path" : "/config/acme",
"text" : "acme"
},
+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read the webauthn configuration.",
+ "method" : "GET",
+ "name" : "get_webauthn_config",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "protected" : 1,
+ "returns" : {
+ "optional" : 1,
+ "properties" : {
+ "allow-subdomains" : {
+ "default" : 1,
+ "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "id" : {
+ "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "origin" : {
+ "description" : "Site origin. Must be a `https://` URL (or `http://localhost`). Should contain the address users type in their browsers to access the web interface.\nChanging this *may* break existing credentials.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "rp" : {
+ "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Read the webauthn configuration.",
+ "method" : "PUT",
+ "name" : "update_webauthn_config",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "allow-subdomains" : {
+ "default" : 1,
+ "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "enum" : [
+ "id",
+ "allow-subdomains",
+ "origin",
+ "rp"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "id" : {
+ "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "origin" : {
+ "description" : "Site origin. Must be a `https://` URL (or `http://localhost`). Should contain the address users type in their browsers to access the web interface.\nChanging this *may* break existing credentials.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "rp" : {
+ "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/tfa/webauthn",
+ "text" : "webauthn"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Directory index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "section" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{section}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/config/tfa",
+ "text" : "tfa"
+ },
{
"info" : {
"GET" : {
"additionalProperties" : 0,
"properties" : {
"advfilter" : {
- "default" : 1,
- "description" : "Use advanced filters for statistic.",
+ "default" : 0,
+ "description" : "Enable advanced filters for statistic.",
"optional" : 1,
"type" : "boolean",
- "typetext" : "<boolean>"
+ "typetext" : "<boolean>",
+ "verbose_description" : "Enable advanced filters for statistic.\n\nIf this is enabled, the receiver statistic are limited to active ones\n(receivers which also sent out mail in the 90 days before), and the contact\nstatistic will not contain these active receivers.\n"
},
"avast" : {
"default" : 0,
"typetext" : "<boolean>"
},
"digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"typetext" : "<string>"
},
"digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"typetext" : "<boolean>"
},
"scriptedupdates" : {
- "default" : 0,
+ "default" : 1,
"description" : "Enables ScriptedUpdates (incremental download of signatures)",
"optional" : 1,
"type" : "boolean",
"typetext" : "<string>"
},
"digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
"dnsbl_sites" : {
- "description" : "Optional list of DNS white/blacklist domains (see postscreen_dnsbl_sites parameter).",
+ "description" : "Optional list of DNS white/blacklist domains (postfix option `postscreen_dnsbl_sites`).",
"format" : "dnsbl-entry-list",
"optional" : 1,
"type" : "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).",
+ "description" : "The inclusive lower bound for blocking a remote SMTP client, based on its combined DNSBL score (postfix option `postscreen_dnsbl_threshold`).",
"minimum" : 0,
"optional" : 1,
"type" : "integer",
},
"dwarning" : {
"default" : 4,
- "description" : "SMTP delay warning time (in hours).",
+ "description" : "SMTP delay warning time (in hours). (postfix option `delay_warning_time`)",
"minimum" : 0,
"optional" : 1,
"type" : "integer",
"type" : "integer",
"typetext" : "<integer> (1 - 65535)"
},
+ "filter-timeout" : {
+ "default" : 600,
+ "description" : "Timeout for the processing of one mail (in seconds) (postfix option `smtpd_proxy_timeout` and `lmtp_data_done_timeout`)",
+ "maximum" : 86400,
+ "minimum" : 2,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (2 - 86400)"
+ },
"greylist" : {
"default" : 1,
"description" : "Use Greylisting for IPv4.",
},
"helotests" : {
"default" : 0,
- "description" : "Use SMTP HELO tests.",
+ "description" : "Use SMTP HELO tests. (postfix option `smtpd_helo_restrictions`)",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
"typetext" : "<integer> (1 - 65535)"
},
"max_filters" : {
- "default" : 38,
+ "default" : 25,
"description" : "Maximum number of pmg-smtp-filter processes.",
"maximum" : 40,
"minimum" : 3,
},
"maxsize" : {
"default" : 10485760,
- "description" : "Maximum email size. Larger mails are rejected.",
+ "description" : "Maximum email size. Larger mails are rejected. (postfix option `message_size_limit`)",
"minimum" : 1024,
"optional" : 1,
"type" : "integer",
},
"rejectunknown" : {
"default" : 0,
- "description" : "Reject unknown clients.",
+ "description" : "Reject unknown clients. (postfix option `reject_unknown_client_hostname`)",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
},
"rejectunknownsender" : {
"default" : 0,
- "description" : "Reject unknown senders.",
+ "description" : "Reject unknown senders. (postfix option `reject_unknown_sender_domain`)",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
"type" : "string"
},
"smarthost" : {
- "description" : "When set, all outgoing mails are deliverd to the specified smarthost.",
+ "description" : "When set, all outgoing mails are deliverd to the specified smarthost. (postfix option `default_transport`)",
"format" : "address",
"optional" : 1,
"type" : "string",
},
"smarthostport" : {
"default" : 25,
- "description" : "SMTP port number for smarthost.",
+ "description" : "SMTP port number for smarthost. (postfix option `default_transport`)",
"maximum" : 65535,
"minimum" : 1,
"optional" : 1,
"type" : "integer",
"typetext" : "<integer> (1 - 65535)"
},
+ "smtputf8" : {
+ "default" : 1,
+ "description" : "Enable SMTPUTF8 support in Postfix and detection for locally generated mail (postfix option `smtputf8_enable`)",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"spf" : {
"default" : 1,
"description" : "Use Sender Policy Framework.",
"typetext" : "<boolean>"
},
"verifyreceivers" : {
- "description" : "Enable receiver verification. The value spefifies the numerical reply code when the Postfix SMTP server rejects a recipient address.",
+ "description" : "Enable receiver verification. The value specifies the numerical reply code when the Postfix SMTP server rejects a recipient address. (postfix options `reject_unknown_recipient_domain`, `reject_unverified_recipient`, and `unverified_recipient_reject_code`)",
"enum" : [
"450",
"550"
"typetext" : "<string>"
},
"digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
+ "extract_text" : {
+ "default" : 0,
+ "description" : "Extract text from attachments (doc, pdf, rtf, images) and scan for spam.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"languages" : {
"default" : "all",
"description" : "This option is used to specify which languages are considered OK for incoming mail.",
"typetext" : "<boolean>"
},
"use_awl" : {
- "default" : 1,
+ "default" : 0,
"description" : "Use the Auto-Whitelist plugin.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
},
"use_bayes" : {
- "default" : 1,
+ "default" : 0,
"description" : "Whether to use the naive-Bayesian-style classifier.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<string>"
},
"digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"typetext" : "<string>"
},
"digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "boolean",
"typetext" : "<boolean>"
},
- "header" : {
- "default" : 1,
- "description" : "Show message header content.",
+ "decode-header" : {
+ "default" : 0,
+ "description" : "Decodes the header fields.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "header" : {
+ "default" : 1,
+ "description" : "Show message header content.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
"returns" : {
"type" : "null"
}
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Reload network configuration",
+ "method" : "PUT",
+ "name" : "reload_network_config",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
}
},
"leaf" : 0,
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "download" : {
+ "description" : "Whether the tasklog file should be downloaded. This parameter can't be used in conjunction with other parameters",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"limit" : {
+ "description" : "The amount of lines to read from the tasklog.",
"minimum" : 0,
"optional" : 1,
"type" : "integer",
"typetext" : "<string>"
},
"start" : {
+ "description" : "Start at this line when reading the tasklog",
"minimum" : 0,
"optional" : 1,
"type" : "integer",
"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",
"pmg-hourly",
"pmg-daily",
"pmgreport",
- "pmgspamreport"
+ "pmgspamreport",
+ "chrony"
],
"type" : "string"
}
"pmg-hourly",
"pmg-daily",
"pmgreport",
- "pmgspamreport"
+ "pmgspamreport",
+ "chrony"
],
"type" : "string"
}
"pmg-hourly",
"pmg-daily",
"pmgreport",
- "pmgspamreport"
+ "pmgspamreport",
+ "chrony"
],
"type" : "string"
}
"pmg-hourly",
"pmg-daily",
"pmgreport",
- "pmgspamreport"
+ "pmgspamreport",
+ "chrony"
],
"type" : "string"
}
"pmg-hourly",
"pmg-daily",
"pmgreport",
- "pmgspamreport"
+ "pmgspamreport",
+ "chrony"
],
"type" : "string"
}
"pmg-hourly",
"pmg-daily",
"pmgreport",
- "pmgspamreport"
+ "pmgspamreport",
+ "chrony"
],
"type" : "string"
}
"path" : "/nodes/{node}/apt/changelog",
"text" : "changelog"
},
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get APT repository information.",
+ "method" : "GET",
+ "name" : "repositories",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "node",
+ "returns" : {
+ "description" : "Result from parsing the APT repository files in /etc/apt/.",
+ "properties" : {
+ "digest" : {
+ "description" : "Common digest of all files.",
+ "type" : "string"
+ },
+ "errors" : {
+ "description" : "List of problematic repository files.",
+ "items" : {
+ "properties" : {
+ "error" : {
+ "description" : "The error message",
+ "type" : "string"
+ },
+ "path" : {
+ "description" : "Path to the problematic file.",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ },
+ "files" : {
+ "description" : "List of parsed repository files.",
+ "items" : {
+ "properties" : {
+ "digest" : {
+ "description" : "Digest of the file as bytes.",
+ "items" : {
+ "type" : "integer"
+ },
+ "type" : "array"
+ },
+ "file-type" : {
+ "description" : "Format of the file.",
+ "enum" : [
+ "list",
+ "sources"
+ ],
+ "type" : "string"
+ },
+ "path" : {
+ "description" : "Path to the problematic file.",
+ "type" : "string"
+ },
+ "repositories" : {
+ "description" : "The parsed repositories.",
+ "items" : {
+ "properties" : {
+ "Comment" : {
+ "description" : "Associated comment",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "Components" : {
+ "description" : "List of repository components",
+ "items" : {
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
+ },
+ "Enabled" : {
+ "description" : "Whether the repository is enabled or not",
+ "type" : "boolean"
+ },
+ "FileType" : {
+ "description" : "Format of the defining file.",
+ "enum" : [
+ "list",
+ "sources"
+ ],
+ "type" : "string"
+ },
+ "Options" : {
+ "description" : "Additional options",
+ "items" : {
+ "properties" : {
+ "Key" : {
+ "type" : "string"
+ },
+ "Values" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "optional" : 1,
+ "type" : "array"
+ },
+ "Suites" : {
+ "description" : "List of package distribuitions",
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ },
+ "Types" : {
+ "description" : "List of package types.",
+ "items" : {
+ "enum" : [
+ "deb",
+ "deb-src"
+ ],
+ "type" : "string"
+ },
+ "type" : "array"
+ },
+ "URIs" : {
+ "description" : "List of repository URIs.",
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ },
+ "infos" : {
+ "description" : "Additional information/warnings for APT repositories.",
+ "items" : {
+ "properties" : {
+ "index" : {
+ "description" : "Index of the associated repository within the file.",
+ "type" : "string"
+ },
+ "kind" : {
+ "description" : "Kind of the information (e.g. warning).",
+ "type" : "string"
+ },
+ "message" : {
+ "description" : "Information message.",
+ "type" : "string"
+ },
+ "path" : {
+ "description" : "Path to the associated file.",
+ "type" : "string"
+ },
+ "property" : {
+ "description" : "Property from which the info originates.",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ },
+ "standard-repos" : {
+ "description" : "List of standard repositories and their configuration status",
+ "items" : {
+ "properties" : {
+ "description" : {
+ "description" : "Description of the repository.",
+ "type" : "string"
+ },
+ "handle" : {
+ "description" : "Handle to identify the repository.",
+ "type" : "string"
+ },
+ "name" : {
+ "description" : "Display name of the repository.",
+ "type" : "string"
+ },
+ "status" : {
+ "description" : "Indicating enabled/disabled status, if the repository is configured.",
+ "optional" : 1,
+ "type" : "boolean"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Change the properties of a repository. Currently only allows enabling/disabling.",
+ "method" : "POST",
+ "name" : "change_repository",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "digest" : {
+ "description" : "Digest to detect modifications.",
+ "maxLength" : 80,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "enabled" : {
+ "description" : "Whether the repository should be enabled or not.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "index" : {
+ "description" : "Index within the file (starting from 0).",
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "path" : {
+ "description" : "Path to the containing file.",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Add a standard repository to the configuration",
+ "method" : "PUT",
+ "name" : "add_repository",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "digest" : {
+ "description" : "Digest to detect modifications.",
+ "maxLength" : 80,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "handle" : {
+ "description" : "Handle that identifies a repository.",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/apt/repositories",
+ "text" : "repositories"
+ },
{
"info" : {
"GET" : {
"datastore" : {
"description" : "Proxmox Backup Server datastore name.",
"optional" : 0,
+ "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
"type" : "string"
},
"disable" : {
"optional" : 1,
"type" : "integer"
},
+ "namespace" : {
+ "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
+ "maxLength" : 256,
+ "optional" : 1,
+ "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
+ "type" : "string"
+ },
"notify" : {
"description" : "Specify when to notify via e-mail",
"enum" : [
"optional" : 1,
"type" : "string"
},
+ "port" : {
+ "default" : 8007,
+ "description" : "Non-default port for Proxmox Backup Server.",
+ "maximum" : 65535,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
"remote" : {
"description" : "Proxmox Backup Server ID.",
"format" : "pve-configid",
"default" : "login",
"description" : "Run specific command or default to login.",
"enum" : [
- "upgrade",
- "login"
+ "login",
+ "upgrade"
],
"optional" : 1,
"type" : "string"
{
"children" : [
{
- "info" : {
- "DELETE" : {
- "allowtoken" : 1,
- "description" : "Delete a user.",
- "method" : "DELETE",
- "name" : "delete",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "userid" : {
- "description" : "User ID",
- "format" : "pmg-userid",
- "maxLength" : 64,
- "minLength" : 4,
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "protected" : 1,
- "proxyto" : "master",
+ "children" : [
+ {
+ "info" : {
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Unlock a user's TFA authentication.",
+ "method" : "PUT",
+ "name" : "unlock_tfa",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "userid" : {
+ "description" : "User ID",
+ "format" : "pmg-userid",
+ "maxLength" : 64,
+ "minLength" : 4,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "boolean"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/access/users/{userid}/unlock-tfa",
+ "text" : "unlock-tfa"
+ }
+ ],
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete a user.",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "userid" : {
+ "description" : "User ID",
+ "format" : "pmg-userid",
+ "maxLength" : 64,
+ "minLength" : 4,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "protected" : 1,
+ "proxyto" : "master",
"returns" : {
"type" : "null"
}
}
}
},
- "leaf" : 1,
+ "leaf" : 0,
"path" : "/access/users/{userid}",
"text" : "{userid}"
}
"role" : {
"type" : "string"
},
+ "tfa-locked-until" : {
+ "description" : "Contains a timestamp until when a user is locked out of 2nd factors.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "totp-locked" : {
+ "description" : "True if the user is currently locked out of TOTP factors.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
"userid" : {
"type" : "string"
}
"path" : "/access/users",
"text" : "users"
},
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 0,
+ "description" : "Delete a TFA entry by ID.",
+ "method" : "DELETE",
+ "name" : "delete_tfa",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "id" : {
+ "description" : "A TFA entry id.",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "password" : {
+ "description" : "The current password.",
+ "maxLength" : 64,
+ "minLength" : 5,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "userid" : {
+ "description" : "User ID",
+ "format" : "pmg-userid",
+ "maxLength" : 64,
+ "minLength" : 4,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit"
+ ],
+ "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 0,
+ "description" : "Fetch a requested TFA entry if present.",
+ "method" : "GET",
+ "name" : "get_tfa_entry",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "id" : {
+ "description" : "A TFA entry id.",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "userid" : {
+ "description" : "User ID",
+ "format" : "pmg-userid",
+ "maxLength" : 64,
+ "minLength" : 4,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "description" : "TFA Entry.",
+ "properties" : {
+ "created" : {
+ "description" : "Creation time of this entry as unix epoch.",
+ "type" : "integer"
+ },
+ "description" : {
+ "description" : "User chosen description for this entry.",
+ "type" : "string"
+ },
+ "enable" : {
+ "default" : 1,
+ "description" : "Whether this TFA entry is currently enabled.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "id" : {
+ "description" : "The id used to reference this entry.",
+ "type" : "string"
+ },
+ "type" : {
+ "description" : "TFA Entry Type.",
+ "enum" : [
+ "totp",
+ "u2f",
+ "webauthn",
+ "recovery"
+ ],
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 0,
+ "description" : "Add a TFA entry for a user.",
+ "method" : "PUT",
+ "name" : "update_tfa_entry",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "description" : {
+ "description" : "A description to distinguish multiple entries from one another",
+ "maxLength" : 255,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "enable" : {
+ "description" : "Whether the entry should be enabled for login.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "id" : {
+ "description" : "A TFA entry id.",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "password" : {
+ "description" : "The current password.",
+ "maxLength" : 64,
+ "minLength" : 5,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "userid" : {
+ "description" : "User ID",
+ "format" : "pmg-userid",
+ "maxLength" : 64,
+ "minLength" : 4,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit"
+ ],
+ "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/access/tfa/{userid}/{id}",
+ "text" : "{id}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 0,
+ "description" : "List TFA configurations of users.",
+ "method" : "GET",
+ "name" : "list_user_tfa",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "userid" : {
+ "description" : "User ID",
+ "format" : "pmg-userid",
+ "maxLength" : 64,
+ "minLength" : 4,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "description" : "A list of the user's TFA entries.",
+ "items" : {
+ "description" : "TFA Entry.",
+ "properties" : {
+ "created" : {
+ "description" : "Creation time of this entry as unix epoch.",
+ "type" : "integer"
+ },
+ "description" : {
+ "description" : "User chosen description for this entry.",
+ "type" : "string"
+ },
+ "enable" : {
+ "default" : 1,
+ "description" : "Whether this TFA entry is currently enabled.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "id" : {
+ "description" : "The id used to reference this entry.",
+ "type" : "string"
+ },
+ "type" : {
+ "description" : "TFA Entry Type.",
+ "enum" : [
+ "totp",
+ "u2f",
+ "webauthn",
+ "recovery"
+ ],
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 0,
+ "description" : "Add a TFA entry for a user.",
+ "method" : "POST",
+ "name" : "add_tfa_entry",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "challenge" : {
+ "description" : "When responding to a u2f challenge: the original challenge string",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "description" : {
+ "description" : "A description to distinguish multiple entries from one another",
+ "maxLength" : 255,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "password" : {
+ "description" : "The current password.",
+ "maxLength" : 64,
+ "minLength" : 5,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "totp" : {
+ "description" : "A totp URI.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "TFA Entry Type.",
+ "enum" : [
+ "totp",
+ "u2f",
+ "webauthn",
+ "recovery"
+ ],
+ "type" : "string"
+ },
+ "userid" : {
+ "description" : "User ID",
+ "format" : "pmg-userid",
+ "maxLength" : 64,
+ "minLength" : 4,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "value" : {
+ "description" : "The current value for the provided totp URI, or a Webauthn/U2F challenge response",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit"
+ ],
+ "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "properties" : {
+ "challenge" : {
+ "description" : "When adding u2f entries, this contains a challenge the user must respond to in order to finish the registration.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "id" : {
+ "description" : "The id of a newly added TFA entry.",
+ "type" : "string"
+ },
+ "recovery" : {
+ "description" : "When adding recovery codes, this contains the list of codes to be displayed to the user",
+ "items" : {
+ "description" : "A recovery entry.",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/access/tfa/{userid}",
+ "text" : "{userid}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 0,
+ "description" : "List TFA configurations of users.",
+ "method" : "GET",
+ "name" : "list_tfa",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "description" : "Returns all or just the logged-in user, depending on privileges.",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "description" : "The list tuples of user and TFA entries.",
+ "items" : {
+ "properties" : {
+ "entries" : {
+ "items" : {
+ "description" : "TFA Entry.",
+ "properties" : {
+ "created" : {
+ "description" : "Creation time of this entry as unix epoch.",
+ "type" : "integer"
+ },
+ "description" : {
+ "description" : "User chosen description for this entry.",
+ "type" : "string"
+ },
+ "enable" : {
+ "default" : 1,
+ "description" : "Whether this TFA entry is currently enabled.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "id" : {
+ "description" : "The id used to reference this entry.",
+ "type" : "string"
+ },
+ "type" : {
+ "description" : "TFA Entry Type.",
+ "enum" : [
+ "totp",
+ "u2f",
+ "webauthn",
+ "recovery"
+ ],
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ },
+ "tfa-locked-until" : {
+ "description" : "Contains a timestamp until when a user is locked out of 2nd factors.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "totp-locked" : {
+ "description" : "True if the user is currently locked out of TOTP factors.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "userid" : {
+ "description" : "User this entry belongs to.",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/access/tfa",
+ "text" : "tfa"
+ },
{
"info" : {
"GET" : {
"allowtoken" : 1,
- "description" : "Dummy. Useful for formaters which want to priovde a login page.",
+ "description" : "Dummy. Useful for formatters which want to priovde a login page.",
"method" : "GET",
"name" : "get_ticket",
"parameters" : {
"optional" : 1,
"type" : "string"
},
+ "tfa-challenge" : {
+ "description" : "The signed TFA challenge string the user wants to respond to.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"username" : {
"description" : "User name",
"maxLength" : 64,
},
"permissions" : {
"user" : "all"
- },
- "returns" : {
- "items" : {
- "properties" : {
- "subdir" : {
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{subdir}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/access",
- "text" : "access"
- },
- {
- "children" : [
- {
- "children" : [
- {
- "info" : {
- "DELETE" : {
- "allowtoken" : 1,
- "description" : "Delete user whitelist entries.",
- "method" : "DELETE",
- "name" : "whitelist_delete",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "address" : {
- "description" : "The address you want to remove.",
- "minLength" : 3,
- "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
- "type" : "string"
- },
- "pmail" : {
- "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
- "maxLength" : 512,
- "minLength" : 3,
- "optional" : 1,
- "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "qmanager",
- "audit",
- "quser"
- ]
- },
- "protected" : 1,
- "returns" : {
- "type" : "null"
- }
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "subdir" : {
+ "type" : "string"
}
},
- "leaf" : 1,
- "path" : "/quarantine/whitelist/{address}",
- "text" : "{address}"
- }
- ],
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{subdir}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/access",
+ "text" : "access"
+ },
+ {
+ "children" : [
+ {
"info" : {
"DELETE" : {
"allowtoken" : 1,
}
}
},
- "leaf" : 0,
+ "leaf" : 1,
"path" : "/quarantine/whitelist",
"text" : "whitelist"
},
{
- "children" : [
- {
- "info" : {
- "DELETE" : {
- "allowtoken" : 1,
- "description" : "Delete user blacklist entries.",
- "method" : "DELETE",
- "name" : "blacklist_delete",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "address" : {
- "description" : "The address you want to remove.",
- "minLength" : 3,
- "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
- "type" : "string"
- },
- "pmail" : {
- "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.",
- "maxLength" : 512,
- "minLength" : 3,
- "optional" : 1,
- "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "qmanager",
- "audit",
- "quser"
- ]
- },
- "protected" : 1,
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 1,
- "path" : "/quarantine/blacklist/{address}",
- "text" : "{address}"
- }
- ],
"info" : {
"DELETE" : {
"allowtoken" : 1,
}
}
},
- "leaf" : 0,
+ "leaf" : 1,
"path" : "/quarantine/blacklist",
"text" : "blacklist"
},
"type" : "integer",
"typetext" : "<integer> (1 - N)"
},
+ "quarantine-type" : {
+ "default" : "spam",
+ "description" : "Query this type of quarantine for users.",
+ "enum" : [
+ "spam",
+ "attachment",
+ "virus"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"starttime" : {
"description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
"minimum" : 0,
"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.",
+ "maxLength" : 512,
+ "minLength" : 3,
+ "optional" : 1,
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
+ },
"starttime" : {
"description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
"minimum" : 0,
"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.",
+ "maxLength" : 512,
+ "minLength" : 3,
+ "optional" : 1,
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
+ },
"starttime" : {
"description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
"minimum" : 0,
"check" : [
"admin",
"qmanager",
- "audit"
+ "audit",
+ "quser"
]
},
"returns" : {
},
"permissions" : {
"check" : [
- "admin",
- "qmanager",
- "audit",
- "quser"
- ]
- },
- "returns" : {
- "type" : "object"
- }
- }
- },
- "leaf" : 1,
- "path" : "/quarantine/download",
- "text" : "download"
- },
- {
- "info" : {
- "POST" : {
- "allowtoken" : 1,
- "description" : "Send Quarantine link to given e-mail.",
- "method" : "POST",
- "name" : "sendlink",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "mail" : {
- "description" : "Email Address (allow most characters).",
- "maxLength" : 512,
- "minLength" : 3,
- "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "user" : "world"
- },
- "protected" : 1,
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 1,
- "path" : "/quarantine/sendlink",
- "text" : "sendlink"
- }
- ],
- "info" : {
- "GET" : {
- "allowtoken" : 1,
- "description" : "Directory index.",
- "method" : "GET",
- "name" : "index",
- "parameters" : {
- "additionalProperties" : 0
- },
- "permissions" : {
- "user" : "all"
- },
- "returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{name}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/quarantine",
- "text" : "quarantine"
- },
- {
- "children" : [
- {
- "children" : [
- {
- "info" : {
- "GET" : {
- "allowtoken" : 1,
- "description" : "Detailed Contact Statistics.",
- "method" : "GET",
- "name" : "contactdetails",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "contact" : {
- "description" : "Contact email address.",
- "maxLength" : 512,
- "minLength" : 3,
- "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
- "type" : "string"
- },
- "day" : {
- "description" : "Day of month. Get statistics for a single day.",
- "maximum" : 31,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 31)"
- },
- "endtime" : {
- "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- },
- "filter" : {
- "description" : "Sender address filter.",
- "maxLength" : 512,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "month" : {
- "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
- "maximum" : 12,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 12)"
- },
- "orderby" : {
- "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
- "maxLength" : 4096,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "starttime" : {
- "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "year" : {
- "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
- "maximum" : 3000,
- "minimum" : 1900,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1900 - 3000)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "qmanager",
- "audit"
- ]
- },
- "returns" : {
- "items" : {
- "properties" : {
- "blocked" : {
- "description" : "Mail was blocked.",
- "type" : "boolean"
- },
- "bytes" : {
- "description" : "Mail traffic (Bytes).",
- "type" : "number"
- },
- "sender" : {
- "description" : "Sender email.",
- "type" : "string"
- },
- "spamlevel" : {
- "description" : "Spam score.",
- "type" : "number"
- },
- "time" : {
- "description" : "Receive time stamp",
- "type" : "integer"
- },
- "virusinfo" : {
- "description" : "Virus name.",
- "optional" : 1,
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "type" : "array"
+ "admin",
+ "qmanager",
+ "audit",
+ "quser"
+ ]
+ },
+ "returns" : {
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/quarantine/download",
+ "text" : "download"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Send Quarantine link to given e-mail.",
+ "method" : "POST",
+ "name" : "sendlink",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "mail" : {
+ "description" : "Email Address (allow most characters).",
+ "maxLength" : 512,
+ "minLength" : 3,
+ "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
}
},
- "leaf" : 1,
- "path" : "/statistics/contact/{contact}",
- "text" : "{contact}"
+ "permissions" : {
+ "user" : "world"
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
}
- ],
+ },
+ "leaf" : 1,
+ "path" : "/quarantine/sendlink",
+ "text" : "sendlink"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Directory index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/quarantine",
+ "text" : "quarantine"
+ },
+ {
+ "children" : [
+ {
"info" : {
"GET" : {
"allowtoken" : 1,
}
}
},
- "leaf" : 0,
+ "leaf" : 1,
"path" : "/statistics/contact",
"text" : "contact"
},
"text" : "detail"
},
{
- "children" : [
- {
- "info" : {
- "GET" : {
- "allowtoken" : 1,
- "description" : "Detailed Sender Statistics.",
- "method" : "GET",
- "name" : "senderdetails",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "day" : {
- "description" : "Day of month. Get statistics for a single day.",
- "maximum" : 31,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 31)"
- },
- "endtime" : {
- "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- },
- "filter" : {
- "description" : "Receiver address filter.",
- "maxLength" : 512,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "month" : {
- "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
- "maximum" : 12,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 12)"
- },
- "orderby" : {
- "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
- "maxLength" : 4096,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "sender" : {
- "description" : "Sender email address.",
- "maxLength" : 512,
- "minLength" : 3,
- "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
- "type" : "string"
- },
- "starttime" : {
- "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "year" : {
- "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
- "maximum" : 3000,
- "minimum" : 1900,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1900 - 3000)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "qmanager",
- "audit"
- ]
- },
- "returns" : {
- "items" : {
- "properties" : {
- "blocked" : {
- "description" : "Mail was blocked.",
- "type" : "boolean"
- },
- "bytes" : {
- "description" : "Mail traffic (Bytes).",
- "type" : "number"
- },
- "receiver" : {
- "description" : "Receiver email.",
- "type" : "string"
- },
- "spamlevel" : {
- "description" : "Spam score.",
- "type" : "number"
- },
- "time" : {
- "description" : "Receive time stamp",
- "type" : "integer"
- },
- "virusinfo" : {
- "description" : "Virus name.",
- "optional" : 1,
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "type" : "array"
- }
- }
- },
- "leaf" : 1,
- "path" : "/statistics/sender/{sender}",
- "text" : "{sender}"
- }
- ],
"info" : {
"GET" : {
"allowtoken" : 1,
}
}
},
- "leaf" : 0,
+ "leaf" : 1,
"path" : "/statistics/sender",
"text" : "sender"
},
{
- "children" : [
- {
- "info" : {
- "GET" : {
- "allowtoken" : 1,
- "description" : "Detailed Receiver Statistics.",
- "method" : "GET",
- "name" : "receiverdetails",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "day" : {
- "description" : "Day of month. Get statistics for a single day.",
- "maximum" : 31,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 31)"
- },
- "endtime" : {
- "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- },
- "filter" : {
- "description" : "Sender address filter.",
- "maxLength" : 512,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "month" : {
- "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
- "maximum" : 12,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 12)"
- },
- "orderby" : {
- "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
- "maxLength" : 4096,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "receiver" : {
- "description" : "Receiver email address.",
- "maxLength" : 512,
- "minLength" : 3,
- "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
- "type" : "string"
- },
- "starttime" : {
- "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "year" : {
- "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
- "maximum" : 3000,
- "minimum" : 1900,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1900 - 3000)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "admin",
- "qmanager",
- "audit"
- ]
- },
- "returns" : {
- "items" : {
- "properties" : {
- "blocked" : {
- "description" : "Mail was blocked.",
- "type" : "boolean"
- },
- "bytes" : {
- "description" : "Mail traffic (Bytes).",
- "type" : "number"
- },
- "sender" : {
- "description" : "Sender email.",
- "type" : "string"
- },
- "spamlevel" : {
- "description" : "Spam score.",
- "type" : "number"
- },
- "time" : {
- "description" : "Receive time stamp",
- "type" : "integer"
- },
- "virusinfo" : {
- "description" : "Virus name.",
- "optional" : 1,
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "type" : "array"
- }
- }
- },
- "leaf" : 1,
- "path" : "/statistics/receiver/{receiver}",
- "text" : "{receiver}"
- }
- ],
"info" : {
"GET" : {
"allowtoken" : 1,
}
}
},
- "leaf" : 0,
+ "leaf" : 1,
"path" : "/statistics/receiver",
"text" : "receiver"
},