{
  "components": {
    "schemas": {
      "Contents": {
        "properties": {
          "all_aliases_valid": {
            "description": "Whether a valid SSL certificate exists on the domain's aliases.\n\n* `1` — A valid SSL certificate exists.\n* `0` — A valid SSL certificate does **not** exist.\n\n**Note:**\n\nThis return **only** appears if you set the `return_https_redirects_status` parameter to `1`.",
            "enum": [
              1,
              0
            ],
            "type": "integer"
          },
          "can_https_redirect": {
            "description": "Whether a valid SSL certificate exists or AutoSSL runs on the domain.\n\n* `1` — A valid SSL certificate exists or AutoSSL runs.\n* `0` — A valid SSL certificate does **not** exist and AutoSSL does **not** run.\n\n**Note:**\n\nThis return **only** appears if you set the `return_https_redirects_status` parameter to `1`.",
            "enum": [
              1,
              0
            ],
            "type": "integer"
          },
          "documentroot": {
            "description": "The absolute path to the domain's document root.",
            "format": "path",
            "type": "string"
          },
          "domain": {
            "description": "The domain's name.",
            "format": "domain",
            "type": "string"
          },
          "group": {
            "description": "The domain's group.",
            "type": "string"
          },
          "hascgi": {
            "description": "Whether CGI is enabled for the domain.\n\n* `1` — Enabled.\n* `0` — Disabled.",
            "enum": [
              1,
              0
            ],
            "type": "integer"
          },
          "homedir": {
            "description": "The absolute path to the cPanel account's home directory.",
            "format": "path",
            "type": "string"
          },
          "ip": {
            "description": "The domain's IPv4 address.",
            "format": "ipv4",
            "type": "string"
          },
          "ipv6": {
            "description": "The domain's IPv6 address.\n\n* null — The account does **not** use IPv6.",
            "format": "ipv6",
            "nullable": true,
            "type": "string"
          },
          "is_https_redirecting": {
            "description": "Whether the domain redirects to `https`.\n\n* `1` — The domain redirects to `https`.\n* `0` — The domain does **not** redirect to `https`.\n\n**Note:**\n\nThis return **only** appears if you set the `return_https_redirects_status` parameter to `1`.",
            "enum": [
              1,
              0
            ],
            "type": "integer"
          },
          "is_temporary": {
            "description": "Whether the domain is a temporary domain.\n* `1` — The domain is temporary.\n* `0` — The domain is not temporary.",
            "enum": [
              1,
              0
            ],
            "type": "integer"
          },
          "no_cache_update": {
            "description": "Whether the domain is subject to cache updates.\n\n* `1` — The domain updates caches.\n* `0` — The domain does **not** update caches.",
            "enum": [
              1,
              0
            ],
            "type": "integer"
          },
          "owner": {
            "description": "The WHM account (`root` or a reseller) that owns the cPanel account.",
            "type": "string"
          },
          "serveradmin": {
            "description": "The domain's administrator's contact email address.",
            "format": "email",
            "type": "string"
          },
          "serveralias": {
            "description": "A space-separated list of the domain's aliases.",
            "format": "domain",
            "type": "string"
          },
          "servername": {
            "description": "The domain's identifier on the server.",
            "format": "domain",
            "type": "string"
          },
          "type": {
            "description": "The type of domain:\n\n* `addon_domain` — The domain is an addon domain.\n* `sub_domain` — The domain is a subdomain.\n* `parked_domain` — The domain is a parked domain (domain alias).",
            "enum": [
              "addon_domain",
              "sub_domain",
              "parked_domains"
            ],
            "type": "string"
          },
          "usecanonicalname": {
            "description": "The domain's Canonical Name (CNAME) setting.\n\n* `On` — Use the domain's CNAME.\n* `Off` — Do **not** use the domain's CNAME.",
            "enum": [
              "On",
              "Off"
            ],
            "type": "string"
          },
          "user": {
            "description": "The cPanel account's username.",
            "format": "username",
            "type": "string"
          },
          "userdirprotect": {
            "description": "The domain's [Apache `mod_userdir` Tweak](https://go.cpanel.net/whmdocsApachemod_userdirTweak)\nsetting.\n\n* `1` — Enabled.\n* `0` — Disabled.",
            "enum": [
              1,
              0
            ],
            "type": "integer"
          }
        }
      },
      "CreateUserResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubaccountBase"
          },
          {
            "properties": {
              "dismissed_merge_candidates": {
                "description": "An array of objects containing service candidates that the system dismissed from merges.",
                "items": {
                  "$ref": "#/components/schemas/SubaccountBase"
                },
                "type": "array"
              },
              "has_expired_invite": {
                "description": "Whether an expired account login invitation exists.\n* `1` - Expired account invitation exists.\n* `0` - Expired account invitation does **not** exist.",
                "enum": [
                  0,
                  1
                ],
                "example": 0,
                "type": "integer"
              },
              "has_invite": {
                "description": "Whether an account login invitation exists.\n* `1` - Account invitation exists.\n* `0` - Account invitation does **not** exist.",
                "enum": [
                  0,
                  1
                ],
                "example": 0,
                "type": "integer"
              },
              "invite_expiration": {
                "description": "When the invitation expires. A date in Unix time format.",
                "example": 1591718154,
                "format": "unix_timestamp",
                "type": "integer"
              },
              "merge_candidates": {
                "description": "An array of objects that represents the service accounts that the system could merge for\nthis subaccount.",
                "items": {
                  "$ref": "#/components/schemas/SubaccountBase"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        ]
      },
      "EditUserSubaccountBase": {
        "properties": {
          "alternate_email": {
            "description": "An alternate email address for the subaccount's user.",
            "example": "user@example.com",
            "format": "email",
            "type": "string"
          },
          "avatar_url": {
            "description": "The user's subaccount profile photo.",
            "example": "https://img.example.com/avatars/example.jpg",
            "format": "url",
            "type": "string"
          },
          "can_delete": {
            "description": "Whether the cPanel account user can delete the subaccount.\n\n* `1` - Can delete.\n* `0` - **Cannot** delete.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "can_set_password": {
            "description": "Whether the cPanel account user can change the subaccount's password.\n\n* `1` - Can change.\n* `0` - **Cannot** change.\n\n**Note:**\n\n  The function returns a `0` value for subaccounts that inherit their password from the cPanel account.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          },
          "can_set_quota": {
            "description": "Whether the cPanel account user can change the subaccount's disk usage quota.\n\n* `1` - Can change.\n* `0` - **Cannot** change.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "dismissed": {
            "description": "Whether the cPanel account user dismissed the merge prompt for the service account.\n\n**Note:**\n\n  **Only** service accounts return this value.\n\n* `1` - Dismissed.\n* `0` - Did **not** dismiss.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          },
          "domain": {
            "description": "The Subaccount user's associated domain.\n\nA domain that the cPanel account owns.",
            "example": "example.com",
            "format": "domain",
            "type": "string"
          },
          "full_username": {
            "description": "The subaccount's username and domain name.",
            "example": "user@example.com",
            "type": "string"
          },
          "guid": {
            "description": "The subaccount unique identifier.",
            "example": "N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4",
            "type": "string"
          },
          "has_expired_invite": {
            "description": "Whether an expired account login invitation exists.\n\n* `1` - Expired account invitation exists.\n* `0` - Expired account invitation does **not** exist.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "has_invite": {
            "description": "Whether an account login invitation exists.\n\n* `1` - Account invitation exists.\n* `0` - Account invitation does **not** exist.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "has_siblings": {
            "description": "Whether the service account shares a `full_username` value with another service account.\n\n* `1` - Shares.\n* `0` - Does **not** share.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "invite_expiration": {
            "description": "When the invitation expires.",
            "example": 1591718154,
            "format": "unix_timestamp",
            "type": "integer"
          },
          "issues": {
            "description": "Information about any issues or problems with the subaccount.",
            "items": {
              "properties": {
                "area": {
                  "description": "The affected section of cPanel & WHM.",
                  "example": "quota",
                  "type": "string"
                },
                "limit": {
                  "description": "The set quota megabyte (MB) limit for the affected subaccount.",
                  "example": 1500,
                  "type": "integer"
                },
                "message": {
                  "description": "The description of the issue.",
                  "example": "Your account is over quota.",
                  "type": "string"
                },
                "service": {
                  "description": "The affected service.\n* `email`\n* `ftp`\n* `webdisk`",
                  "enum": [
                    "email",
                    "ftp",
                    "webdisk"
                  ],
                  "example": "email",
                  "type": "string"
                },
                "type": {
                  "description": "The type of issue.\n* `error`\n* `warning`\n* `info`",
                  "enum": [
                    "error",
                    "warning",
                    "info"
                  ],
                  "example": "info",
                  "type": "string"
                },
                "used": {
                  "description": "The number of megabytes (MB) that the account currently uses.",
                  "example": 2000,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "parent_type": {
            "description": "The type of account that could own the service account.\n\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge.\n* `null`- **Not** a merge candidate.",
            "example": "hypothetical",
            "type": "string"
          },
          "phone_number": {
            "description": "The subaccount user's phone number.\n\nThe number conforms to the [ITU-T](https://en.wikipedia.org/wiki/ITU-T)'s [E.164](https://en.wikipedia.org/wiki/E.164)-recommended standard for the representation of telephone numbers.",
            "example": "+15551234567",
            "type": "string"
          },
          "real_name": {
            "description": "The name of the subaccount's user.\n\n* A first name, a last name, or a first name and last name.\n* An empty string.",
            "example": "John Doe",
            "type": "string"
          },
          "services": {
            "description": "This object contains information about the subaccount's access to email, FTP, and Web Disk.",
            "properties": {
              "email": {
                "description": "This object contains the information that indicates the subaccount's email status.",
                "properties": {
                  "enabled": {
                    "description": "Whether the subaccount can access Webmail, POP, and IMAP services.\n\n* `1` - Can access.\n* `0` - **Cannot** access.",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 1,
                    "type": "integer"
                  },
                  "quota": {
                    "description": "The maximum amount of disk space, in megabytes (MB), allocated to the subaccount's email account.\n\n**Note:**\n\n  This function will not return `0` as a value.",
                    "example": 100,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "ftp": {
                "description": "This object contains the information that indicates the subaccount's FTP status.",
                "properties": {
                  "enabled": {
                    "description": "Whether the subaccount can access FTP.\n\n* `1` - Can access.\n* `0` - **Cannot** access.",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 0,
                    "type": "integer"
                  },
                  "homedir": {
                    "description": "The subaccount's FTP home directory.",
                    "example": "/subaccount",
                    "format": "path",
                    "type": "string"
                  },
                  "quota": {
                    "description": "The maximum amount disk space, in megabytes (MB), that the subaccount may use.\n\n* A positive integer between `1` and `999999`\n* `0` - Unlimited.",
                    "example": 100,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "webdisk": {
                "description": "This object contains information that indicates the subaccount's Web Disk status.",
                "properties": {
                  "enabled": {
                    "description": "Whether the subaccount can access Web Disk.\n\n* `1` - Can access.\n* `0` - **Cannot** access.",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 0,
                    "type": "integer"
                  },
                  "homedir": {
                    "description": "The subaccount's Web Disk home directory.",
                    "example": "/bob",
                    "format": "path",
                    "type": "string"
                  },
                  "perms": {
                    "description": "Whether to grant write permissions to the subaccount.\n\n* `ro` - Read-only permissions.\n* `rw` - Read and write permissions.",
                    "enum": [
                      "ro",
                      "rw"
                    ],
                    "example": "rw",
                    "type": "string"
                  },
                  "private": {
                    "description": "Whether to set the Web Disk directory's permissions to public or private.\n\n* `1` - Private (`0700`).\n* `0` - Public (`0755`).",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "special": {
            "description": "Whether the account is a system-created special account that the user **cannot** remove.\n\n* `1` - A special account.\n* `0` - **Not** a special account.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          },
          "sub_account_exists": {
            "description": "Whether a subaccount exists with the same username.\n\n* `1` - Exists.\n* `0` - Does **not** exist.\n\n**Note:**\n\n  The function returns a `null` value if the account is **not** a service account.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "synced_password": {
            "description": "Whether the user has synchronized the passwords for each of the subaccount's service accounts.\n\n* `1` - Synchronized.\n* `0` - **Not** synchronized.\n\n**Note:**\n\n  The function returns a `null` value if the account is **not** a subaccount.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "type": {
            "description": "The type of account.\n\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge.\n* `service` - A service account.\n* `cpanel` - The cPanel account.",
            "example": "sub",
            "type": "string"
          },
          "username": {
            "description": "The username for the subaccount.\n\n* Length - 64 characters.\n* Characters - `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`).\n\n**Note:**\n\n  This value does **not** include the domain name.",
            "example": "example",
            "type": "string"
          }
        },
        "type": "object"
      },
      "FeatureDescriptions": {
        "properties": {
          "features": {
            "description": "The list of features in a role.",
            "example": [
              "Backup",
              "MySQL® Databases",
              "PHP"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "description": "The role's ID.",
            "example": "database",
            "type": "string"
          },
          "title": {
            "description": "The role's title.",
            "example": "Database",
            "type": "string"
          }
        }
      },
      "HashOutput": {
        "properties": {
          "addon_domains": {
            "description": "An array of objects containing information about each addon domain.",
            "items": {
              "$ref": "#/components/schemas/Contents"
            }
          },
          "main_domain": {
            "description": "An array of objects containing information about the main domain.",
            "items": {
              "$ref": "#/components/schemas/MainDomainContents"
            }
          },
          "parked_domains": {
            "description": "An array of objects containing information about each parked domain.",
            "items": {
              "$ref": "#/components/schemas/Contents"
            }
          },
          "sub_domains": {
            "description": "An array of objects containing information about each subdomain.",
            "items": {
              "$ref": "#/components/schemas/Contents"
            }
          }
        },
        "type": "object"
      },
      "ListOutput": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/Contents"
          },
          {
            "$ref": "#/components/schemas/MainDomainContents"
          }
        ]
      },
      "LookupServiceAccountSubaccountBase": {
        "properties": {
          "alternate_email": {
            "description": "An alternate email address for the subaccount's user.",
            "example": "user@example.com",
            "format": "email",
            "type": "string"
          },
          "avatar_url": {
            "description": "The user's subaccount profile photo.",
            "example": "https://img.example.com/avatars/example.jpg",
            "format": "url",
            "type": "string"
          },
          "can_delete": {
            "description": "Whether the cPanel account user can delete the subaccount.\n\n* `1` - Can delete.\n* `0` - **Cannot** delete.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "can_set_password": {
            "description": "Whether the cPanel account user can change the subaccount's password.\n\n* `1` - Can change.\n* `0` - **Cannot** change.\n\n**Note:**\n\n  The function returns a `0` value for subaccounts that inherit their password from the cPanel account.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          },
          "can_set_quota": {
            "description": "Whether the cPanel account user can change the subaccount's disk usage quota.\n\n* `1` - Can change.\n* `0` - **Cannot** change.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "dismissed": {
            "description": "Whether the cPanel account user dismissed the merge prompt for the service account.\n\n**Note:**\n\n  **Only** service accounts return this value.\n\n* `1` - Dismissed.\n* `0` - Did **not** dismiss.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          },
          "domain": {
            "description": "The Subaccount user's associated domain.\n\nA domain that the cPanel account owns.",
            "example": "example.com",
            "format": "domain",
            "type": "string"
          },
          "full_username": {
            "description": "The subaccount's username and domain name.",
            "example": "user@example.com",
            "type": "string"
          },
          "guid": {
            "description": "The subaccount unique identifier.",
            "example": "N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4",
            "type": "string"
          },
          "has_expired_invite": {
            "description": "Whether an expired account login invitation exists.\n\n* `1` - Expired account invitation exists.\n* `0` - Expired account invitation does **not** exist.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "has_invite": {
            "description": "Whether an account login invitation exists.\n\n* `1` - Account invitation exists.\n* `0` - Account invitation does **not** exist.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "has_siblings": {
            "description": "Whether the service account shares a `full_username` value with another service account.\n\n* `1` - Shares.\n* `0` - Does **not** share.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "invite_expiration": {
            "description": "When the invitation expires.",
            "example": 1591718154,
            "format": "unix_timestamp",
            "type": "integer"
          },
          "issues": {
            "description": "Information about any issues or problems with the subaccount.",
            "items": {
              "properties": {
                "area": {
                  "description": "The affected section of cPanel & WHM.",
                  "example": "quota",
                  "type": "string"
                },
                "limit": {
                  "description": "The set quota megabyte (MB) limit for the affected subaccount.",
                  "example": 1500,
                  "type": "integer"
                },
                "message": {
                  "description": "The description of the issue.",
                  "example": "Your account is over quota.",
                  "type": "string"
                },
                "service": {
                  "description": "The affected service.\n* `email`\n* `ftp`\n* `webdisk`",
                  "enum": [
                    "email",
                    "ftp",
                    "webdisk"
                  ],
                  "example": "email",
                  "type": "string"
                },
                "type": {
                  "description": "The type of issue.\n* `error`\n* `warning`\n* `info`",
                  "enum": [
                    "error",
                    "warning",
                    "info"
                  ],
                  "example": "info",
                  "type": "string"
                },
                "used": {
                  "description": "The number of megabytes (MB) that the account currently uses.",
                  "example": 2000,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "parent_type": {
            "description": "The type of account that could own the service account.\n\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge.\n* `null`- **Not** a merge candidate.",
            "example": "hypothetical",
            "type": "string"
          },
          "phone_number": {
            "description": "The subaccount user's phone number.\n\nThe number conforms to the [ITU-T](https://en.wikipedia.org/wiki/ITU-T)'s [E.164](https://en.wikipedia.org/wiki/E.164)-recommended standard for the representation of telephone numbers.",
            "example": "+15551234567",
            "type": "string"
          },
          "real_name": {
            "description": "The name of the subaccount's user.\n\n* A first name, a last name, or a first name and last name.\n* An empty string.",
            "example": "John Doe",
            "type": "string"
          },
          "services": {
            "description": "This object contains information about the subaccount's access to email, FTP, and Web Disk.",
            "properties": {
              "email": {
                "description": "This object contains the information that indicates the subaccount's email status.",
                "properties": {
                  "enabled": {
                    "description": "Whether the subaccount can access Webmail, POP, and IMAP services.\n\n* `1` - Can access.\n* `0` - **Cannot** access.",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 1,
                    "type": "integer"
                  },
                  "quota": {
                    "description": "The maximum amount of disk space, in megabytes (MB), allocated to the subaccount's email account.\n\n**Note:**\n\n  This function will not return `0` as a value.",
                    "example": 100,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "ftp": {
                "description": "This object contains the information that indicates the subaccount's FTP status.",
                "properties": {
                  "enabled": {
                    "description": "Whether the subaccount can access FTP.\n\n* `1` - Can access.\n* `0` - **Cannot** access.",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 0,
                    "type": "integer"
                  },
                  "homedir": {
                    "description": "The subaccount's FTP home directory.",
                    "example": "/subaccount",
                    "format": "path",
                    "type": "string"
                  },
                  "quota": {
                    "description": "The maximum amount disk space, in megabytes (MB), that the subaccount may use.\n\n* A positive integer between `1` and `999999`\n* `0` - Unlimited.",
                    "example": 100,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "webdisk": {
                "description": "This object contains information that indicates the subaccount's Web Disk status.",
                "properties": {
                  "enabled": {
                    "description": "Whether the subaccount can access Web Disk.\n\n* `1` - Can access.\n* `0` - **Cannot** access.",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 0,
                    "type": "integer"
                  },
                  "homedir": {
                    "description": "The subaccount's Web Disk home directory.",
                    "example": "/bob",
                    "format": "path",
                    "type": "string"
                  },
                  "perms": {
                    "description": "Whether to grant write permissions to the subaccount.\n\n* `ro` - Read-only permissions.\n* `rw` - Read and write permissions.",
                    "enum": [
                      "ro",
                      "rw"
                    ],
                    "example": "rw",
                    "type": "string"
                  },
                  "private": {
                    "description": "Whether to set the Web Disk directory's permissions to public or private.\n\n* `1` - Private (`0700`).\n* `0` - Public (`0755`).",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "special": {
            "description": "Whether the account is a system-created special account that the user **cannot** remove.\n\n* `1` - A special account.\n* `0` - **Not** a special account.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          },
          "sub_account_exists": {
            "description": "Whether a subaccount exists with the same username.\n\n* `1` - Exists.\n* `0` - Does **not** exist.\n\n**Note:**\n\n  The function returns a `null` value if the account is **not** a service account.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "synced_password": {
            "description": "Whether the user has synchronized the passwords for each of the subaccount's service accounts.\n\n* `1` - Synchronized.\n* `0` - **Not** synchronized.\n\n**Note:**\n\n  The function returns a `null` value if the account is **not** a subaccount.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "type": {
            "description": "The type of account.\n\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge.\n* `service` - A service account.\n* `cpanel` - The cPanel account.",
            "example": "sub",
            "type": "string"
          },
          "username": {
            "description": "The username for the subaccount.\n\n* Length - 64 characters.\n* Characters - `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`).\n\n**Note:**\n\n  This value does **not** include the domain name.",
            "example": "example",
            "type": "string"
          }
        },
        "type": "object"
      },
      "LookupServiceAccountSubaccountMergeCandidates": {
        "properties": {
          "merge_candidates": {
            "description": "An array of objects that represents the service accounts that the system could merge for this subaccount.",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/LookupServiceAccountSubaccountBase"
                },
                {
                  "$ref": "#/components/schemas/LookupServiceAccountSubaccountMergeCandidatesEmpty"
                }
              ]
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "LookupServiceAccountSubaccountMergeCandidatesEmpty": {
        "properties": {
          "merge_candidates": {
            "description": "An array of objects that represents the service accounts that the system could merge for this subaccount.",
            "items": {
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "MainDomainContents": {
        "properties": {
          "all_aliases_valid": {
            "description": "Whether a valid SSL certificate exists on the domain's aliases.\n\n* `1` — A valid SSL certificate exists.\n* `0` — A valid SSL certificate does **not** exist.\n\n**Note:**\n\nThis return **only** appears if you set the `return_https_redirects_status` parameter to `1`.",
            "enum": [
              1,
              0
            ],
            "type": "integer"
          },
          "can_https_redirect": {
            "description": "Whether a valid SSL certificate exists or AutoSSL runs on the domain.\n\n* `1` — A valid SSL certificate exists or AutoSSL runs.\n* `0` — A valid SSL certificate does **not** exist and AutoSSL does **not** run.\n\n**Note:**\n\nThis return **only** appears if you set the `return_https_redirects_status` parameter to `1`.",
            "enum": [
              1,
              0
            ],
            "type": "integer"
          },
          "customlog": {
            "description": "The domain's [Apache log](http://httpd.apache.org/docs/2.2/mod/mod_log_config.html)\ninformation.",
            "properties": {
              "format": {
                "description": "The [log file](https://httpd.apache.org/docs/2.2/mod/mod_log_config.html#logformat)'s\nformat.",
                "type": "string"
              },
              "target": {
                "description": "The absolute path to the domain's log file in the `domlogs` directory.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "documentroot": {
            "description": "The absolute path to the domain's document root.",
            "format": "path",
            "type": "string"
          },
          "domain": {
            "description": "The domain's name.",
            "format": "domain",
            "type": "string"
          },
          "group": {
            "description": "The domain's group.",
            "type": "string"
          },
          "hascgi": {
            "description": "Whether CGI is enabled for the domain.\n\n* `1` — Enabled.\n* `0` — Disabled.",
            "enum": [
              1,
              0
            ],
            "type": "integer"
          },
          "homedir": {
            "description": "The absolute path to the cPanel account's home directory.",
            "format": "path",
            "type": "string"
          },
          "ifmodulemodsuphpc": {
            "description": "Information about PHP scripts and suPHP.",
            "properties": {
              "group": {
                "description": "If suPHP is enabled, PHP scripts run as this group.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "ip": {
            "description": "The domain's IPv4 address.",
            "format": "ipv4",
            "type": "string"
          },
          "ipv6": {
            "description": "The domain's IPv6 address.\n\n* null — The account does **not** use IPv6.",
            "format": "ipv6",
            "nullable": true,
            "type": "string"
          },
          "is_https_redirecting": {
            "description": "Whether the domain redirects to `https`.\n\n* `1` — The domain redirects to `https`.\n* `0` — The domain does **not** redirect to `https`.\n\n**Note:**\n\nThis return **only** appears if you set the `return_https_redirects_status` parameter to `1`.",
            "enum": [
              1,
              0
            ],
            "type": "integer"
          },
          "no_cache_update": {
            "description": "Whether the domain is subject to cache updates.\n\n* `1` — The domain updates caches.\n* `0` — The domain does **not** update caches.",
            "enum": [
              1,
              0
            ],
            "type": "integer"
          },
          "owner": {
            "description": "The WHM account (`root` or a reseller) that owns the cPanel account.",
            "type": "string"
          },
          "scriptalias": {
            "description": "The domain's CGI information.",
            "properties": {
              "path": {
                "description": "The absolute path to the domain's CGI directory.",
                "format": "path",
                "type": "string"
              },
              "url": {
                "description": "The domain's CGI directory.",
                "format": "path",
                "type": "string"
              }
            },
            "type": "object"
          },
          "serveradmin": {
            "description": "The domain's administrator's contact email address.",
            "format": "email",
            "type": "string"
          },
          "serveralias": {
            "description": "A space-separated list of the domain's aliases.",
            "format": "domain",
            "type": "string"
          },
          "servername": {
            "description": "The domain's identifier on the server.",
            "format": "domain",
            "type": "string"
          },
          "type": {
            "description": "The domain is the cPanel account's main domain.\n\n* `main_domain` is the only possible value.",
            "enum": [
              "main_domain"
            ],
            "type": "string"
          },
          "usecanonicalname": {
            "description": "The domain's Canonical Name (CNAME) setting.\n\n* `On` — Use the domain's CNAME.\n* `Off` — Do **not** use the domain's CNAME.",
            "enum": [
              "On",
              "Off"
            ],
            "type": "string"
          },
          "user": {
            "description": "The cPanel account's username.",
            "format": "username",
            "type": "string"
          },
          "userdirprotect": {
            "description": "The domain's [Apache `mod_userdir` Tweak](https://go.cpanel.net/whmdocsApachemod_userdirTweak)\nsetting.\n\n* `1` — Enabled.\n* `0` — Disabled.",
            "enum": [
              1,
              0
            ],
            "type": "integer"
          }
        }
      },
      "MarketProviderProductMetaData": {
        "properties": {
          "base_name": {
            "description": "The provider's base name.",
            "nullable": true,
            "type": "string"
          },
          "billing_type": {
            "description": "The provider's billing type",
            "example": "one-time",
            "type": "string"
          },
          "description": {
            "description": "The product's description.",
            "example": "An Extended Validation (EV) SLL Certificate. Browsers consider this to be more secure a domain validated (DV) certificate.",
            "type": "string"
          },
          "display_name": {
            "description": "The product's display name.",
            "example": "cPanel DV Certificate",
            "type": "string"
          },
          "enabled": {
            "description": "Whether the product is enabled in the cPanel Market.\n* `1` - Enabled.\n* `0` - Not enabled.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          },
          "icon": {
            "description": "The product's display icon.",
            "example": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAKq2lDQ1BJQ0MgUHJvZmlsZQAASImV lgdQU+kWx7970xstAQEpoffeQUroofcmKiGhhBJiICDYEXEFVhQRacqCrjQFV6XIKiIWRFkUG/YF WRTUdbFgQ+Vd4BHee/N23rwzc3J/c+Z8/3vul++b+QNAvsfi81NgCQBSeRmCIA9nekRkFB33O8AC JUAC2kCFxU7nMwICfMDfxoe7AJp73jKY0/r7vv8akpy4dDYAUADCsZx0dirCp5DsZvMFGQCgkARq WRn8OS5HmCZABkT46BwnLHDPHMcu8O35npAgF4QnAMCTWSxBAgCk90idnslOQHTINISNeRwuD2FX hB3YiSwOwnkI66emps3xcYS1Y/9FJ+HfNGNFmixWgogXvmU+8K7cdH4KK/v/3I7/HakpwsV3qCJJ ThR4BiFPGWTPGpLTvEXMi/XzX2QuZ75/nhOFnqGLzE53iVpkDsvVe5GFyaGMRWYJltZyM5ghiyxI CxLpx6W7BYv045g+ohlS/EQcz3VnLnJOYkj4Imdyw/wWOT052Hupx0VUFwiDRDPHC9xF35iavjQb m7U0Q0ZiiOfSbBGiGThxrm6iOi9U1M/PcBZp8lMCRP1xKR6ienpmsGhtBnLAFjmJ5RWwpBMg2h/A AMEgFEk6CAOewBSYI4lMlRG3bu5MA5c0fraAm5CYQWcgtyaOzuSxDfXppsYmFgDM3cGFv/jd9fm7 BcnGLtWykPUrviNnkbBUi3gKwDGkJs9aqmluBkAaBUBbL1soyFyooed+MIAIxAENyCF3XA254wbI ZJbADjgBN+AF/EEIiASrARskglQgAFlgA9gK8kEh2A32gUpQAw6BBnAMnAAd4Aw4Dy6Da+AGuAMe ghEwDl6CKfABzEAQhIMoEBWSg5QhDUgPMoWsIQfIDfKBgqBIKAZKgHiQENoAbYMKoRKoEqqFGqFf oNPQeagfGoLuQ6PQJPQW+gKjYDJMgxVhTdgItoYZsDccAq+CE+C1cA6cB++Cy+E6+CjcDp+Hr8F3 4BH4JTyNAigSSgalgjJAWaNcUP6oKFQ8SoDahCpAlaHqUC2oLlQf6hZqBPUK9RmNRVPRdLQB2g7t iQ5Fs9Fr0ZvQRehKdAO6HX0RfQs9ip5Cf8dQMAoYPYwthomJwCRgsjD5mDLMEUwb5hLmDmYc8wGL xcpgtbBWWE9sJDYJux5bhD2AbcX2YIewY9hpHA4nh9PD2eP8cSxcBi4fV4E7ijuHu4kbx33Ck/DK eFO8Oz4Kz8Pn4svwTfhu/E38c/wMQYKgQbAl+BM4hGxCMeEwoYtwnTBOmCFKErWI9sQQYhJxK7Gc 2EK8RHxEfEcikVRJNqRAEpe0hVROOk66QholfSZLkXXJLuRospC8i1xP7iHfJ7+jUCiaFCdKFCWD sovSSLlAeUL5JEYVMxRjinHENotVibWL3RR7LU4Q1xBniK8WzxEvEz8pfl38lQRBQlPCRYIlsUmi SuK0xLDEtCRV0kTSXzJVskiySbJfckIKJ6Up5SbFkcqTOiR1QWqMiqKqUV2obOo26mHqJeo4DUvT ojFpSbRC2jHaIG1KWkraXDpMep10lfRZ6REZlIymDFMmRaZY5oTMXZkvyxSXMZbFLdu5rGXZzWUf ZZfLOsnGyRbItsrekf0iR5dzk0uW2yPXIfdYHi2vKx8onyV/UP6S/KvltOV2y9nLC5afWP5AAVbQ VQhSWK9wSGFAYVpRSdFDka9YoXhB8ZWSjJKTUpJSqVK30qQyVdlBmatcqnxO+QVdms6gp9DL6Rfp UyoKKp4qQpValUGVGVUt1VDVXNVW1cdqRDVrtXi1UrVetSl1ZXVf9Q3qzeoPNAga1hqJGvs1+jQ+ ampphmvu0OzQnNCS1WJq5Wg1az3Spmg7aq/VrtO+rYPVsdZJ1jmgc0MX1rXQTdSt0r2uB+tZ6nH1 DugN6WP0bfR5+nX6wwZkA4ZBpkGzwaihjKGPYa5hh+FrI3WjKKM9Rn1G340tjFOMDxs/NJEy8TLJ NekyeWuqa8o2rTK9bUYxczfbbNZp9sZczzzO/KD5PQuqha/FDotei2+WVpYCyxbLSSt1qxiraqth a5p1gHWR9RUbjI2zzWabMzafbS1tM2xP2P5lZ2CXbNdkN7FCa0XcisMrxuxV7Vn2tfYjDnSHGIef HEYcVRxZjnWOT53UnDhOR5yeM3QYSYyjjNfOxs4C5zbnjy62LhtdelxRrh6uBa6DblJuoW6Vbk/c Vd0T3JvdpzwsPNZ79HhiPL0993gOMxWZbGYjc8rLymuj10Vvsnewd6X3Ux9dH4FPly/s6+W71/eR n4Yfz6/DH/gz/ff6Pw7QClgb8GsgNjAgsCrwWZBJ0IagvmBq8JrgpuAPIc4hxSEPQ7VDhaG9YeJh 0WGNYR/DXcNLwkcijCI2RlyLlI/kRnZG4aLCoo5ETa90W7lv5Xi0RXR+9N1VWqvWrepfLb86ZfXZ NeJrWGtOxmBiwmOaYr6y/Fl1rOlYZmx17BTbhb2f/ZLjxCnlTMbZx5XEPY+3jy+Jn0iwT9ibMJno mFiW+Irrwq3kvknyTKpJ+pjsn1yfPJsSntKaik+NST3Nk+Il8y6mKaWtSxvi6/Hz+SNrbdfuWzsl 8BYcSYfSV6V3ZtAQszMg1BZuF45mOmRWZX7KCss6uU5yHW/dQLZu9s7s5znuOT+vR69nr+/doLJh 64bRjYyNtZugTbGbejerbc7bPL7FY0vDVuLW5K2/5RrnluS+3xa+rStPMW9L3th2j+3N+WL5gvzh HXY7an5A/8D9YXCn2c6Knd8LOAVXC40Lywq/FrGLrv5o8mP5j7O74ncNFlsWH9yN3c3bfXeP456G EsmSnJKxvb5720vppQWl7/et2ddfZl5Ws5+4X7h/pNynvLNCvWJ3xdfKxMo7Vc5VrdUK1TurPx7g HLh50OlgS41iTWHNl5+4P92r9ahtr9OsKzuEPZR56NnhsMN9P1v/3HhE/kjhkW/1vPqRhqCGi41W jY1NCk3FzXCzsHnyaPTRG8dcj3W2GLTUtsq0Fh4Hx4XHX/wS88vdE94nek9an2w5pXGquo3aVtAO tWe3T3Ukdox0RnYOnfY63dtl19X2q+Gv9WdUzlSdlT5b3E3szuuePZdzbrqH3/PqfML5sd41vQ8v RFy4fTHw4uAl70tXLrtfvtDH6Dt3xf7KmX7b/tNXra92XLO81j5gMdD2m8VvbYOWg+3Xra533rC5 0TW0Yqj7puPN87dcb12+zbx97Y7fnaG7oXfvDUcPj9zj3Ju4n3L/zYPMBzMPtzzCPCp4LPG47InC k7rfdX5vHbEcOTvqOjrwNPjpwzH22Ms/0v/4Op73jPKs7Lny88YJ04kzk+6TN16sfDH+kv9y5lX+ n5J/Vr/Wfn3qL6e/BqYipsbfCN7Mvi16J/eu/r35+97pgOknH1I/zHws+CT3qeGz9ee+L+Ffns9k fcV9Lf+m863ru/f3R7Ops7N8loA1bwUQZwDg+HgA3tYDQIkEgHoDAKLYgkeeD2jB188T+Dte8NHz YQnA4R4A5qwa0wmACoS1EKZuAWDOIiHWCDYzE+U/Iz3ezHRBiyyPWJOe2dm3swDgYgD4Njg7O1M+ O/utDBkW8dfn/Ba8+byP4QKg/g7AOjX9jXVbwH/EPwCGGQVDbR7I2wAAAAlwSFlzAAALEwAACxMB AJqcGAAAAgRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRv YmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6 cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAg PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0 cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6 Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9u PjM5MzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lv bj41MTU8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4x PC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRG Pgo8L3g6eG1wbWV0YT4KxfVkQAAACgpJREFUWAmNV1lvG9cZPTMcLsN9EUmJlCzJ+9oEaZAu6WIU CVD0pb+lr31x3/oL8hKgaOOiQVugRV10SZG2dlGntqPElmzZliWLEimJkkhxEfchh5ye71LMQ2Cg HXI4w5k793zL+c53R3McZ4T/Y+M4NUrTNHUcjYYYDm11brgMaLpLnTtwoPHzv7YJrPHliV/1oIyZ AA/6XTx//CmKu3nYgyH6/QEE78rrb+HC5dehiZ3jn1dN9aVrGnSZeDK5AE32ycgJeHHnJSqlAtwe E51mHceVffQ6NTTqFRQL27j1y/ewuvIZwTWMRuNoTeZ41VECKsHUD4q76HbbaszEmIlBo9FIGbeb 38CtX/wUrUZFjZs5dRr+oB8ejwfBkIlIPIFgfA4f/eG3KB3uQdd15cirgCfXxpnU4Dozl7mR29zA Pg1pt5oYjmy4XC643W410WBg4Y8fvodWs4OF8+cxlV5QwAd7GzSoBZfhQnwqBq/P5PMWnj1+gFgy icRU+gsjJg5NwCdHuW643F40jluoVmp4uvoUhttAOBJBPJHA/OIi2rVDHOS34I/GGe4an+0TzIDH 68dxowCfPwgzOMSFqxe4X8L6sw38+oMP8KMf/wTBQFBhSRplm6RT/ZH//Bg2may5NLgNLzyayUtA q9VBu9PFxtoKuod59G0X6kUJv0PiDWhkALMLZ7D29KlKkdc0MbB6+Oc//o3l53v4zpuXUC5uwz1/ bhxJTVeYr4qEIXdUroXK2gjMOgxDg1ezkMu9RK9tMRKz+Nb3vst7OnIvPsfC6TOYnklhevYUKpUq U+bmuA5e5Kr45EUZ0zE/0o/v4b33f4ZAOIZsJouZ6TTS6TRi0RiCwSCjE4DP9MEYDGzmdJzvISVB rCwVC9h8toqdwwbOz6cxf3oej5ZX0Kx38e73r2Nl6QEuXbuKuYV5HB830LcsVkUVn9+7j93NEqw3 stg/alEbdOXM/sEunj9/hkq1gS7H+v0mkskEMplpGH/501+Ryc4gNZ1CNB5HIBjA6vOXOCqUkT01 i7m5Gdy9ex+f5i28/do5FHLb8IfCrJwen5vFTn4HAf5vVOpYnI4AzTJqlQpWn72ESQ4kOGf2VAap qZTihEGC2/aQz3dRrzfg8jj6jZer63jy6Cm2clsolcowmYJTmSnYFJlINIBHT9ZhUW9WN/IIDDs4 e+40UjMM59QUmo0mfD4fRiRaMkrSuU3uHhgs0Xari4P9A2yu57C2to7t7QKqtSqEd5KGbDYDw8s8 mAG/IsnAtrWVpcfOO+98jWXEXMWGWq8/cEL+APJPt5XAtFuzrJpjlp+blRBFeiaDWrVMHYjCzYq4 du0iljfyGlPruGmEyzDg9XhVuXY7PWxsbDEdG5TxIdOja/poOCKzbQgXmH4nkghj/7CCkdvFHM84 NZaox+dHLGLira9eQIq5K1fr6Pb6NJq5TKdU5TSbTbhIrMpxE8f1uiNixLqDQzGzbVvt/MOqcCEU DmAqEUc0GnMMqUUpr5HDKmBbklotHpRx9z99xONhjJgvP6O0eO4s5skHw+OCTo8GtgVn2ACVS+V6 UKqhzxK9/MZrqLR76PVtiszYiJEzlAJTBMdQg+3YPJDwOnuBAPKrrBULpSSFKM1Gh9qew1GFHtEr h5M0qA9dhk60/rjWQP1oh2NHiJLVsWgUnY6lyOVnSvd29tCllgw5dlz/DC+Bxl1U5hjvrlQ8foO+ QwLA+9KZVJuVUtE9hkZeiEKgUathmhGYSsaVuHg8BlLRCCKJGDQaFaAU23Sk37dQKOzig5sfolNr oUxSt6kRkgZp08IJg7vIvUaBUkI0JICgy5f4TAfoTRce0+cM+n006bmb0bSsvpLqKIGlEbXqdSQS EQST5+ANVfEV3cB6bgtrlPQgQrB6HVSKh1hfXqaEAeFYCkk6kWTJx6YS5EBUDKDbdF/CI+eOhIJW WATuk5hyTdJyjVq/ub6FK1cvYo51PTs7gw7Fp16tIBHJwGHTSqcSFJsqlj7+F+KZOWbUgS8SIFVZ nlwjCJ92Xmxi7fEjoRvi3giYgtgN3lVA45XMybmUBI3SGapyqY4LFxYRCQVUiNOsFL/XgOn1KRJG kmGs3L4NG26kZ7MUFzd+/+ePkGbFdFttusCokqzs/jB8HopdmDoQhsY0koQTcN7nKWOgTuQoBsjd TqevJHeBkpyjGH3y8R0Ut/NIZrPokPHN4gGqrR5uvv9zHLCCrr97nU+BXTMArxkg+JBz0QhZxjEK 0tAGFLkheaEiMAGVhwRepUOWVSot7A0Mc4rCdO3qeaSnkySfH8lMho0miifLT3Dnb7dZuhVs7JSw VThk81pAkVXw6dIjhMMhpQVDgo+XamMMqTjBMtSv8pM3CKowxXtVtzo6vR5CpheF7T2l4abfhxBJ GI5PsVsWcO+zxziotGhMCKn5OeS2d2Dee4jM3Cmm5A4FzlLSSyw1pxIEpkKcFh+FnGqTC/JRFvAg obcZujZzGGRJFkoHVMgjyrwPJapjqXKM7fwu1pgSf8BUHbXB5mJ3W9jObamKCZF+smISLZCoisfi oEJS/7kgcUSiFA8IOhISqGGKpV1670glcHkm205+D4uLc2rxsbu7rxqRTcUrU7qbzQaOKNE7+SLe +uabFKEeTK4XRzZXEeLNiQECr7KrrjECCk9NLz8CLhvlkmSRRYZouiZPcOuzNK12F/IG0OL60SGz q/Um7t5/iFxhDy222KNGGVeunOGiZQalZlUq+gRc/JZKkBAw/yxtkWhyQCbnKMk/zyaWihBpDJ0u 5o/xWUKiYroy5JjipDkuZGen8WB5HSOOYwPE21//Bi5fPoNc3iuzcbnHfIuyjcOg4E6mU/Oy88vG S2Icj5INa0ARojeqmchVGilkabLkNOqCpEVC17O6XNWk8cMffFtx5ezZWVykXkQpPpFIiE/wjUlW 11xzDhkt6QnKzS8sUCQUwSHISZglPF0VZnlroXCI5SRjOhbHk2ebBO1DI7Es8kOiIxGZyyRx9dJp zGeTFBifCm+AxIVBIwjqD/uVECnckx8xRD66m8vwkdTcyQ0BGHL54+bEkmu+OinS+Px+VI4OsXtQ Yo/g5Lwr7BYDfaJuAR9Ljrxh5ERocly6wa6pdaE/HOH0KsQKRqBU5Hmim14vJ1LtiI46ir0Crlqo jDoZqR4y/Li/tIIBx8diIZYe1wbMsURClRkHieqVyxXcuXOfD5toNNtclh1xHOlG4k1IILQQr3Uv u5pcFJweV6w0X02osBX4eKCLQCm24pWVJ0zFBvXeBS/zyzdBjNcdLDcSRafxD6iAS9xnZuIq9/LO MM7+JPCCLhFhmoVo8no9YNlZJ8RT6jQB51idr94Wjev2LIRCEfzmd3/H9s6hYrjX64bJpiIeyLRL D5/j5q9ucd0wTTKPu6mLTkqEtBNHxRj15f//Ah9jPXoBZ9CgAAAAAElFTkSuQmCC",
            "format": "base64 image",
            "type": "string"
          },
          "icon_mime_type": {
            "description": "The icon's file type.",
            "example": "image/svg+xml",
            "format": "MIME",
            "type": "string"
          },
          "license_term": {
            "description": "The providers license term",
            "example": 0,
            "minimum": 0,
            "type": "integer"
          },
          "max_users": {
            "description": "The maximum number of users.",
            "example": 5,
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "maximum_server_price": {
            "description": "The maximum price that the system will allow for the product.",
            "example": 500.1,
            "format": "currency",
            "nullable": true,
            "type": "number"
          },
          "minimum_server_price": {
            "description": "The minimum price that the system will allow for the product.",
            "example": 3,
            "format": "currency",
            "nullable": true,
            "type": "number"
          },
          "price": {
            "description": "The product's price.",
            "example": 3,
            "format": "currency",
            "nullable": true,
            "type": "number"
          },
          "price_unit": {
            "description": "The currency code of the product's price.",
            "example": "USD",
            "format": "ISO-4217",
            "type": "string"
          },
          "product": {
            "description": "The product name.",
            "example": "Comodo EV Certificate",
            "type": "string"
          },
          "product_category": {
            "description": "The product's category.",
            "example": "N/A",
            "type": "string"
          },
          "product_group": {
            "description": "The product's group.",
            "example": "ssl_certificate",
            "type": "string"
          },
          "product_id": {
            "description": "The product's ID.",
            "example": 176,
            "minimum": 1,
            "type": "integer"
          },
          "provider_display_name": {
            "description": "The cPanel Market provider's display name.\n\n**Note:**\n\nThe `_DISPLAY_NAME` attribute in the cPanel Market provider module contains this value.",
            "example": "cPStore",
            "type": "string"
          },
          "provider_name": {
            "description": "The cPanel Market provider's name.",
            "example": "cPStore",
            "type": "string"
          },
          "recommended": {
            "description": "Whether the product is recommended.\n* `1` — We recommend the product.\n* `0` — We do not recommend the product.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          },
          "requires_ip": {
            "description": "Whether the product requires an IP address.\n* `1` — Requires an IP.\n* `0` — Does **not** require an IP.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "MarketProviderProductMetaDataType": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/MarketProviderProductMetaData"
          },
          {
            "$ref": "#/components/schemas/SSLMarketProviderProductMetaData"
          }
        ],
        "discriminator": {
          "mapping": {
            "ssl_certificate": "#/components/schemas/SSLMarketProviderProductMetaData"
          },
          "propertyName": "product_group"
        }
      },
      "Payload": {
        "description": "The zone’s content.",
        "items": {
          "discriminator": {
            "mapping": {
              "comment": "#/components/schemas/ResponseComment",
              "control": "#/components/schemas/ResponseControl",
              "record": "#/components/schemas/ResponseRR"
            },
            "propertyName": "type"
          },
          "oneOf": [
            {
              "$ref": "#/components/schemas/ResponseRR"
            },
            {
              "$ref": "#/components/schemas/ResponseControl"
            },
            {
              "$ref": "#/components/schemas/ResponseComment"
            }
          ]
        },
        "type": "array"
      },
      "PricingPeriod": {
        "description": "Pricing for a single registration period.",
        "properties": {
          "period": {
            "description": "The registration period in years.",
            "example": 1,
            "type": "integer"
          },
          "register": {
            "description": "The registration price for this period.",
            "nullable": true,
            "properties": {
              "code": {
                "description": "The ISO 4217 currency code.",
                "example": "USD",
                "type": "string"
              },
              "display_value": {
                "description": "The formatted price string including prefix and suffix.",
                "example": "$10.74 USD",
                "type": "string"
              },
              "prefix": {
                "description": "The currency symbol that appears before the value.",
                "example": "$",
                "type": "string"
              },
              "suffix": {
                "description": "The currency label that appears after the value.",
                "example": " USD",
                "type": "string"
              },
              "value": {
                "description": "The numeric price as a decimal string.",
                "example": "10.74",
                "type": "string"
              }
            },
            "type": "object"
          },
          "renew": {
            "description": "The renewal price for this period.",
            "nullable": true,
            "properties": {
              "code": {
                "description": "The ISO 4217 currency code.",
                "example": "USD",
                "type": "string"
              },
              "display_value": {
                "description": "The formatted price string including prefix and suffix.",
                "example": "$10.74 USD",
                "type": "string"
              },
              "prefix": {
                "description": "The currency symbol that appears before the value.",
                "example": "$",
                "type": "string"
              },
              "suffix": {
                "description": "The currency label that appears after the value.",
                "example": " USD",
                "type": "string"
              },
              "value": {
                "description": "The numeric price as a decimal string.",
                "example": "10.74",
                "type": "string"
              }
            },
            "type": "object"
          },
          "transfer": {
            "description": "The transfer price for this period.",
            "nullable": true,
            "properties": {
              "code": {
                "description": "The ISO 4217 currency code.",
                "example": "USD",
                "type": "string"
              },
              "display_value": {
                "description": "The formatted price string including prefix and suffix.",
                "example": "$11.40 USD",
                "type": "string"
              },
              "prefix": {
                "description": "The currency symbol that appears before the value.",
                "example": "$",
                "type": "string"
              },
              "suffix": {
                "description": "The currency label that appears after the value.",
                "example": " USD",
                "type": "string"
              },
              "value": {
                "description": "The numeric price as a decimal string.",
                "example": "11.40",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "ResponseBase": {
        "properties": {
          "line_index": {
            "description": "The line’s index in the zone file.",
            "example": 22,
            "minimum": 0,
            "type": "integer"
          },
          "type": {
            "description": "The type of object in the zone file:\n\n* `record` - A resource record.\n* `control` - A control statement.\n* `comment` - A line comment.",
            "enum": [
              "record",
              "control",
              "comment"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseComment": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseControlOrComment"
          }
        ],
        "title": "Comment"
      },
      "ResponseControl": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseControlOrComment"
          }
        ],
        "title": "Control"
      },
      "ResponseControlOrComment": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseBase"
          },
          {
            "properties": {
              "text_b64": {
                "description": "The line’s text, encoded to base64.",
                "example": "OyBab25lIGZpbGUgZm9yIHRleGFzLmNvbQ==",
                "format": "base64",
                "type": "string"
              }
            },
            "type": "object"
          }
        ]
      },
      "ResponseRR": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseBase"
          },
          {
            "properties": {
              "data_b64": {
                "description": "The resource record’s content, encoded to base64.",
                "items": {
                  "example": "dGV4YXMuY29tLg==",
                  "format": "base64",
                  "type": "string"
                },
                "type": "array"
              },
              "dname_b64": {
                "description": "The resource record’s owner, encoded to base64. A base64-decoded owner that lacks a trailing period (`.`) is a subdomain of the zone.",
                "example": "dGV4YXMuY29tLg==",
                "format": "base64",
                "type": "string"
              },
              "record_type": {
                "description": "The resource record’s type.",
                "example": "MX",
                "type": "string"
              },
              "ttl": {
                "description": "The resource record’s TTL (Time-to-Live).",
                "example": 14400,
                "minimum": 0,
                "type": "integer"
              }
            },
            "type": "object"
          }
        ],
        "title": "Resource Record"
      },
      "RestoreInProgress": {
        "properties": {
          "any_running": {
            "description": "Whether the system is processing a backup restoration.\n\n* `1` - Restoration in progress. This is the only possible value.",
            "enum": [
              1
            ],
            "type": "integer"
          },
          "sites": {
            "description": "Information about the site that the system is actively restoring.\n\n**Note:**\n\nWe have not implemented this return.",
            "items": {
              "properties": {
                "id": {
                  "description": "The restore process's unique ID.\n\n* `null` is the only possible value.\n* We have not implemented this return.",
                  "enum": [
                    null
                  ],
                  "nullable": true,
                  "type": "string"
                },
                "site": {
                  "description": "The WordPress site's URL without the protocol prefix.",
                  "format": "domain",
                  "type": "string"
                },
                "type": {
                  "description": "The active process type.\n\n* `restore` is the only possible value.",
                  "enum": [
                    "restore"
                  ],
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        }
      },
      "RestoreNotInProgress": {
        "properties": {
          "any_running": {
            "description": "Whether the system is processing a backup restoration.\n\n* `0` - No restoration in progress. This is the only possible value.",
            "enum": [
              0
            ],
            "type": "integer"
          },
          "last_outcome": {
            "description": "The status of the last backup restoration.",
            "properties": {
              "error": {
                "description": "Where the system encountered an error during the last backup restoration.\n\n* The error message from the restoration log database.\n* `null` - No occur occurred.",
                "nullable": true,
                "type": "string"
              },
              "have_outcome": {
                "description": "Whether the restoration log shows a successful attempt previously occurred,\nsuccessfully or unsuccessfully.\n\n* `1` - Restoration attempt occurred.\n* `0` - No restoration attempt occurred.",
                "enum": [
                  0,
                  1
                ],
                "type": "integer"
              },
              "site": {
                "description": "The WordPress site's URL without the protocol prefix.",
                "format": "domain",
                "type": "string"
              },
              "status": {
                "description": "The previous restoration attempt's result.\n\n* `success` - Successful restoration.\n* `error` - The attempted restoration resulted in an error.\n* `terminated` - The system stopped the restoration process.\n* `timeout` - The restoration process exceeded the allowed time limit.\n* `low-disk` - The server's disk space was insufficient to complete the restoration.\n* `low-quota` - The cPanel account's quota was insufficient to complete the restoration.",
                "enum": [
                  "success",
                  "error",
                  "terminated",
                  "timeout",
                  "low-disk",
                  "low-quota"
                ],
                "type": "string"
              }
            }
          },
          "sites": {
            "description": "Information about the site that the system is actively restoring.\n\n**Note:**\n\n* This function returns an empty array when there is **not** an active\nbackup restoration. This is the only possible value.\n* We have not implemented this return.",
            "type": "object"
          }
        }
      },
      "SSLMarketProviderProductMetaData": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MarketProviderProductMetaData"
          },
          {
            "properties": {
              "x_certificate_term": {
                "description": "An array that indicates the length of time and unit of time that the product secures for.",
                "example": [
                  "1",
                  "year"
                ],
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "x_identity_verification": {
                "additionalProperties": {
                  "description": "Contains additional properties that vary between products.",
                  "x-additionalPropertiesName": "certificate_properties"
                },
                "description": "Defines a schema for identity verification information for OV and EV certificates.",
                "properties": {
                  "label": {
                    "description": "The display name of the property.",
                    "example": "Dun & Bradstreet D-U-N-S (Data Universal Numbering System) Number",
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the property.",
                    "example": "duns_number",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "x_max_http_redirects": {
                "description": "The maximum number of HTTP redirections that the provider allows during a Domain Control Validation (DCV) check of the domain or domains in the certificate.",
                "minimum": 1,
                "type": "integer"
              },
              "x_payment_trigger": {
                "description": "Indicates whether the provider charges immediately or when they issue the Secure Sockets Layer (SSL) certificate.\n\n* `checkout` — Collect payment and finalize immediately after checkout. Any failures to issue the certificate must prompt a separate refund.\n* `issuance` — Collect payment when the provider issues the certificate to the user.\n\n**Note:**\n\nFor more information, read the _For certificate orders_ section of our [Guide to cPanel Market Provider Modules](https://go.cpanel.net/featureshowcasemarket) documentation.",
                "enum": [
                  "checkout",
                  "issuance"
                ],
                "type": "string"
              },
              "x_price_per_domain": {
                "description": "The product's price per domain.",
                "example": 3,
                "minimum": 1,
                "type": "number"
              },
              "x_price_per_domain_maximum": {
                "description": "The maximum `x_price_per_domain` value.",
                "example": 30,
                "minimum": 1,
                "type": "number"
              },
              "x_price_per_domain_minimum": {
                "description": "The minimum `x_price_per_domain` value.",
                "example": 3,
                "minimum": 1,
                "type": "number"
              },
              "x_price_per_wildcard_domain": {
                "description": "The price per domain for a wildcard certificate.",
                "example": 99,
                "minimum": 1,
                "type": "number"
              },
              "x_price_per_wildcard_domain_maximum": {
                "description": "The maximum `x_prive_per_wildcard_domain` value.",
                "example": 30,
                "minimum": 1,
                "type": "number"
              },
              "x_price_per_wildcard_domain_minimum": {
                "description": "The minimum `x_prive_per_wildcard_domain` value.",
                "example": 99,
                "minimum": 1,
                "type": "number"
              },
              "x_ssl_per_domain_pricing": {
                "description": "Whether the provider uses per-domain pricing for this certificate.\n* `1` — Uses per-domain pricing.\n* `0` — Does **not** use per-domain pricing.",
                "enum": [
                  0,
                  1
                ],
                "type": "integer"
              },
              "x_supports_dns_dcv": {
                "description": "Whether this product supports DNS-based DCV.\n* `1` — Supports DNS DCV.\n* `0` — Does `not` support DNS DCV.",
                "enum": [
                  0,
                  1
                ],
                "type": "integer"
              },
              "x_validation_type": {
                "description": "The validation type.",
                "example": "ev",
                "type": "string"
              },
              "x_warn_after": {
                "description": "A length of time, in seconds, after which the cPanel interface warns the user that a problem may exist with the order. The warning suggests that they contact the cPanel Market provider's support contact.",
                "example": 14400,
                "minimum": 1,
                "type": "integer"
              },
              "x_wildcard_parent_domain_free": {
                "description": "Indicates if a wildcard domain includes its parent domain. For example, `*.example.com` would include the `example.com` parent domain.\n\n* `1` — The domain does include its parent domain.\n* `0` — The domain does **not** include its parent domain.",
                "enum": [
                  0,
                  1
                ],
                "type": "integer"
              }
            }
          }
        ],
        "type": "object"
      },
      "Score": {
        "type": "object",
        "properties": {
          "master": {
            "description": "The overall results for the check.",
            "type": "object",
            "properties": {
              "title": {
                "description": "The title of the check.",
                "example": "Uptime",
                "type": "string"
              },
              "status": {
                "description": "The check's summarized status.\n  * `good` — The check has returned a positive result.\n  * `bad`  — The check has returned a negative result.",
                "type": "string",
                "example": "good",
                "enum": [
                  "good",
                  "bad"
                ]
              },
              "message": {
                "description": "The check's status message.",
                "example": "The project is proving to be very reliable (currently and in the last 30 days) and has good accessibility. The current level should be maintained.",
                "type": "string"
              },
              "description": {
                "description": "A description of the check.",
                "example": "If a project is unavailable, customers cannot visit, browse or make purchases. The accessibility assessment is based on the current situation, but also on historical values and trends.",
                "type": "string"
              },
              "identifier": {
                "description": "An unique identifier for the check.",
                "example": "Score:Basic:Uptime",
                "type": "string"
              },
              "score": {
                "description": "A numeral score for the check.\n\n** Note: **\n\nA higher score indicates that your website performs well in that check.",
                "example": 100,
                "type": "integer"
              },
              "incidents": {
                "type": "array",
                "example": [],
                "default": []
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "score": {
                    "type": "integer",
                    "example": 100
                  },
                  "limit": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          },
          "sub_scores": {
            "description": "Monitoring checks subcategory results.\n\n** Note: **\n\nWe use the check subcategory results to calculate the master results.",
            "type": "array",
            "example": [],
            "default": [],
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "description": "The title of the check subcategory.",
                  "example": "Current availability",
                  "type": "string"
                },
                "status": {
                  "description": "The check subcategory's summarized status.\n  * `good` — The check has returned a positive result.\n  * `bad`  — The check has returned a negative result.",
                  "type": "string",
                  "example": "good",
                  "enum": [
                    "good",
                    "bad"
                  ]
                },
                "message": {
                  "description": "The check subcategory's status message.",
                  "example": "All project pages can be reached and thus be visited by potential customers.",
                  "type": "string"
                },
                "description": {
                  "description": "A description of the check.",
                  "example": "It is evaluated whether the project is currently accessible. If it is not, this is usually due to technical reasons.",
                  "type": "string"
                },
                "identifier": {
                  "description": "An unique identifier for the check.",
                  "example": "Score:Uptime:Down",
                  "type": "string"
                },
                "score": {
                  "description": "A numeral score for the check subcategory.\n\n** Note: **\n\nA higher score indicates that your website performs well in that check.",
                  "example": 100,
                  "type": "integer"
                },
                "incidents": {
                  "example": [],
                  "type": "array",
                  "default": []
                },
                "weight": {
                  "description": "The weighted contribution of the subcategory check's `score` result to the `master` object's `score` result.",
                  "example": 20,
                  "type": "integer"
                },
                "weighted_score": {
                  "description": "The score after weight has been adjusted.",
                  "example": 20,
                  "type": "integer"
                },
                "attributes": {
                  "type": "object",
                  "properties": {
                    "scoring": {
                      "type": "string",
                      "example": "good"
                    },
                    "score": {
                      "type": "integer",
                      "example": 100
                    },
                    "components_processed": {
                      "type": "integer",
                      "example": 1
                    },
                    "components_failed": {
                      "type": "integer",
                      "example": 0
                    },
                    "limit": {
                      "type": "integer",
                      "example": 0
                    },
                    "tool": {
                      "type": "string",
                      "example": "KoalaPing"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ServiceAccount": {
        "properties": {
          "alternate_email": {
            "description": "An alternate email address for the subaccount's user.",
            "example": "user@example.com",
            "format": "email",
            "nullable": true,
            "type": "string"
          },
          "avatar_url": {
            "description": "The user's subaccount profile photo.",
            "example": "https://img.example.com/avatars/example.jpg",
            "format": "url",
            "nullable": true,
            "type": "string"
          },
          "can_delete": {
            "description": "Whether the cPanel account user can delete the subaccount.\n* `1` - Can delete.\n* `0` - Cannot delete.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "can_set_password": {
            "description": "Whether the cPanel account user can change the subaccount's password.\n* `1` - Can change.\n* `0` - Cannot change.\n\n**Note:**\n\n  The function returns a `0` value for subaccounts that inherit their password from the cPanel account.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          },
          "can_set_quota": {
            "description": "Whether the cPanel account user can change the subaccount's disk usage quota.\n* `1` - Can change.\n* `0` - Cannot change.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "dismissed": {
            "description": "Whether the cPanel account user dismissed the merge prompt for the service account.\n* `1` - Dismissed.\n* `0` - Did not dismiss.\n\n**Note:**\n\n  Only service accounts return this value.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          },
          "domain": {
            "description": "The subaccount user's associated domain.",
            "example": "example.com",
            "format": "domain",
            "nullable": true,
            "type": "string"
          },
          "full_username": {
            "description": "The subaccount's username and domain name. A valid username, the `@` character, and the associated domain.",
            "example": "user@example.com",
            "type": "string"
          },
          "guid": {
            "description": "The subaccount unique identifier.",
            "example": "N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4",
            "type": "string"
          },
          "has_siblings": {
            "description": "Whether the service account shares a `full_username` value with another service account.\n* `1` - Shares.\n* `0` - Does not share.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "issues": {
            "description": "Information about any issues or problems with the subaccount.",
            "items": {
              "properties": {
                "area": {
                  "description": "The affected section of cPanel & WHM.",
                  "example": "quota",
                  "type": "string"
                },
                "limit": {
                  "description": "The set quota megabyte (MB) limit for the affected subaccount.",
                  "example": 1500,
                  "minimum": 0,
                  "type": "integer"
                },
                "message": {
                  "description": "The description of the issue.",
                  "example": "Your account is over quota.",
                  "type": "string"
                },
                "service": {
                  "description": "The affected service.",
                  "enum": [
                    "email",
                    "ftp",
                    "webdisk"
                  ],
                  "example": "email",
                  "type": "string"
                },
                "type": {
                  "description": "The type of issue.",
                  "enum": [
                    "error",
                    "info",
                    "warning"
                  ],
                  "example": "info",
                  "type": "string"
                },
                "used": {
                  "description": "The number of megabytes (MB) that the account currently uses.",
                  "example": 2000,
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "merge_candidates": {
            "description": "An array of service account objects that the system could merge for this subaccount.",
            "items": {
              "$ref": "#/components/schemas/ServiceAccount"
            },
            "type": "array"
          },
          "parent_type": {
            "description": "The type of account that could own the service account.\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does not yet exist, but the user could create as part of a merge.\n* `null` - Not a merge candidate.",
            "enum": [
              "sub",
              "hypothetical"
            ],
            "example": "hypothetical",
            "nullable": true,
            "type": "string"
          },
          "phone_number": {
            "description": "The subaccount user's phone number. A valid phone number that conforms to [ITU-T's E.164-recommended standard](https://en.wikipedia.org/wiki/ITU-T) for the representation of telephone numbers.",
            "example": "+15551234567",
            "nullable": true,
            "type": "string"
          },
          "real_name": {
            "description": "The name of the subaccount's user.\n* A first name, a last name, or a first name and last name.\n* An empty or null string.",
            "example": "John Doe",
            "nullable": true,
            "type": "string"
          },
          "services": {
            "description": "Information about the subaccount's access to email, FTP, and Web Disk.",
            "properties": {
              "email": {
                "description": "Information that indicates the subaccount's email status.",
                "properties": {
                  "enabled": {
                    "description": "Whether the subaccount can access Webmail, POP, and IMAP services.\n* `1` - Can access.\n* `0` - Cannot access.",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 1,
                    "type": "integer"
                  },
                  "quota": {
                    "description": "The maximum amount of disk space allocated to subaccount's email account, in megabytes (MB).",
                    "example": 100,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "ftp": {
                "description": "This object contains the information that indicates the subaccount's FTP status.",
                "properties": {
                  "enabled": {
                    "description": "Whether the subaccount can access FTP.\n* `1` - Can access.\n* `0` - Cannot access.",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 0,
                    "type": "integer"
                  },
                  "homedir": {
                    "description": "The subaccount's FTP home directory, relative to the cPanel account's home directory.",
                    "example": "/subaccount",
                    "format": "path",
                    "type": "string"
                  },
                  "quota": {
                    "description": "The subaccount's FTP disk space quota.\n* `1` to `999999` - The maximum disk space that the subaccount may use, in megabytes (MB).\n* `0` - Unlimited.",
                    "example": 100,
                    "maximum": 999999,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "special": {
                "description": "Whether the account is a system-created special account that the user cannot remove.\n* `1` - A special account.\n* `0` - Not a special account.",
                "enum": [
                  0,
                  1
                ],
                "example": 1,
                "type": "integer"
              },
              "webdisk": {
                "description": "This object contains information that indicates the subaccount's Web Disk status.",
                "properties": {
                  "enabled": {
                    "description": "Whether the subaccount can access Web Disk.\n* `1` - Can access.\n* `0` - Cannot access.",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 0,
                    "type": "integer"
                  },
                  "enabledigest": {
                    "description": "Whether the subaccount's Web Disk service has enabled Digest Authentication.\n* `1` - Digest Authentication is enabled.\n* `0` - Digest Authentication is not enabled.",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 0,
                    "type": "integer"
                  },
                  "homedir": {
                    "description": "The subaccount's Web Disk home directory, relative to the cPanel account's home directory.",
                    "example": "/bob",
                    "format": "path",
                    "type": "string"
                  },
                  "perms": {
                    "description": "Whether to grant write permissions to the subaccount.\n* `ro` - Read-only permissions.\n* `rw` - Read and write permissions.",
                    "enum": [
                      "ro",
                      "rw"
                    ],
                    "example": "rw",
                    "type": "string"
                  },
                  "private": {
                    "description": "Whether to set the Web Disk directory's permissions to public or private.\n* `1` - Private (0700).\n* `0` - Public (0755).",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "special": {
            "description": "Whether the account is a system-created special account that the user **cannot** remove.\n* `1` - A special account.\n* `0` - Not a special account.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "sub_account_exists": {
            "description": "Whether a subaccount exists with the same username.\n* `1` - Exists.\n* `0` - Does not exist.\n\n**Note:**\n\n  The function returns a null value if the account is not a service account.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "synced_password": {
            "description": "Whether the user has synchronized the passwords for each of the subaccount's service accounts.\n* `1` - Synchronized.\n* `0` - Not synchronized.\n\n**Note:**\n\n  The function returns a null value if the account is not a subaccount.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "type": {
            "description": "The type of account.\n* `cpanel` - The cPanel account.\n* `hypothetical` - A hypothetical subaccount that does not exist, but that the user could create as part of a merge.\n* `service` - A service account.\n* `sub` - A subaccount.",
            "enum": [
              "cpanel",
              "hypothetical",
              "service",
              "sub"
            ],
            "example": "sub",
            "type": "string"
          },
          "username": {
            "description": "The username for the subaccount.",
            "example": "example",
            "format": "username",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Services": {
        "properties": {
          "email": {
            "example": "500*2**20",
            "type": "string"
          },
          "ftp": {
            "example": 1,
            "type": "integer"
          },
          "webdisk": {
            "example": "rw",
            "type": "string"
          }
        },
        "type": "object"
      },
      "SubaccountBase": {
        "properties": {
          "alternate_email": {
            "description": "An alternate email address for the subaccount's user.",
            "example": "user@example.com",
            "format": "email",
            "type": "string"
          },
          "avatar_url": {
            "description": "The HTTPS URL to the user's subaccount profile photo image file.",
            "example": "https://img.example.com/avatars/example.jpg",
            "format": "url",
            "type": "string"
          },
          "can_delete": {
            "description": "Whether the cPanel account user can delete the subaccount.\n* `1` - Can delete.\n* `0` - **Cannot** delete.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "can_set_password": {
            "description": "Whether the cPanel account user can change the subaccount's password.\n* `1` - Can change.\n* `0` - **Cannot** change.\n\n**Note:**\n\n  The function returns a `0` value for subaccounts that inherit their password from the cPanel account.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          },
          "can_set_quota": {
            "description": "Whether the cPanel account user can change the subaccount's disk usage quota.\n* `1` - Can change.\n* `0` - **Cannot** change.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "dismissed": {
            "description": "Whether the cPanel account user dismissed the merge prompt for the service account.\n\n* `1` - Dismissed.\n* `0` - Did **not** dismiss.\n\n**Note:**\n\n**Only** service accounts return this value.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          },
          "domain": {
            "description": "The subaccount user's associated domain.",
            "example": "example.com",
            "format": "domain",
            "type": "string"
          },
          "full_username": {
            "description": "The subaccount's username and domain name.",
            "example": "user@example.com",
            "format": "email",
            "type": "string"
          },
          "guid": {
            "description": "The subaccount unique identifier.",
            "example": "N4641:EXAMPLE.COM:564CC8A7:A82EA007D8348AC631C0170F9418EC1DEB0D164CC5A722A87C55EF5DD2AD98D4",
            "type": "string"
          },
          "has_siblings": {
            "description": "Whether the service account shares a `full_username` value with another service account.\n* `1` - Shares.\n* `0` - Does **not** share.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "type": "integer"
          },
          "issues": {
            "description": "Information about any issues or problems with the subaccount.",
            "items": {
              "properties": {
                "area": {
                  "description": "The affected section of cPanel & WHM.",
                  "example": "quota",
                  "type": "string"
                },
                "limit": {
                  "description": "The set quota megabyte (MB) limit for the affected subaccount.",
                  "example": 1500,
                  "minimum": 1,
                  "type": "integer"
                },
                "message": {
                  "description": "The description of the issue.",
                  "example": "Your account is over quota.",
                  "type": "string"
                },
                "service": {
                  "description": "The affected service.\n* `email`\n* `ftp`\n* `webdisk`",
                  "enum": [
                    "email",
                    "ftp",
                    "webdisk"
                  ],
                  "example": "email",
                  "type": "string"
                },
                "type": {
                  "description": "The type of issue.\n* `error`\n* `warning`\n* `info`",
                  "enum": [
                    "error",
                    "warning",
                    "info"
                  ],
                  "example": "info",
                  "type": "string"
                },
                "used": {
                  "description": "The number of megabytes (MB) that the account currently uses.",
                  "example": 2000,
                  "minimum": 1,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "parent_type": {
            "description": "The type of account that could own the service account.\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge.\n* `null` - **Not** a merge candidate.",
            "example": "hypothetical",
            "nullable": true,
            "type": "string"
          },
          "phone_number": {
            "description": "The subaccount user's phone number. A valid phone number that conforms to\n[ITU-T](https://en.wikipedia.org/wiki/ITU-T)'s\n[E.164](https://en.wikipedia.org/wiki/E.164)-recommended standard for the representation\nof telephone numbers.",
            "example": "+15551234567",
            "type": "string"
          },
          "real_name": {
            "description": "The name of the subaccount's user, if provided.",
            "example": "John Doe",
            "type": "string"
          },
          "services": {
            "description": "Information about the subaccount's access to email, FTP, and Web Disk.",
            "properties": {
              "email": {
                "description": "Information about the subaccount's email status.",
                "properties": {
                  "enabled": {
                    "description": "Whether the subaccount can access Webmail, POP, and IMAP services.\n* `1` - Can access.\n* `0` - **Cannot** access.",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 1,
                    "type": "integer"
                  },
                  "quota": {
                    "description": "The maximum amount of disk space, in megabytes (MB), allocated to subaccount's email account.",
                    "example": 1500,
                    "minimum": 1,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "ftp": {
                "description": "Information about the subaccount's FTP status.",
                "properties": {
                  "enabled": {
                    "description": "Whether the subaccount can access FTP.\n* `1` - Can access.\n* `0` - **Cannot** access.",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 0,
                    "type": "integer"
                  },
                  "homedir": {
                    "description": "The subaccount's FTP home directory, relative to the cPanel account's home directory.",
                    "example": "/subaccount",
                    "format": "path",
                    "type": "string"
                  },
                  "quota": {
                    "description": "The subaccount's maximum FTP disk space quota, in megabytes (MB).\n* A string containing a non-negative float.\n* `0.00` - Unlimited.",
                    "example": "0.00",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "webdisk": {
                "description": "Information about the subaccount's Web Disk status.",
                "properties": {
                  "enabled": {
                    "description": "Whether the subaccount can access Web Disk.\n* `1` - Can access.\n* `0` - **Cannot** access.",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 0,
                    "type": "integer"
                  },
                  "homedir": {
                    "description": "The subaccount's Web Disk home directory, relative to the cPanel account's home directory.",
                    "example": "/bob",
                    "format": "path",
                    "type": "string"
                  },
                  "perms": {
                    "description": "Whether the subaccount has read-only or read and write permissions.\n\n* `ro` - Read-only permissions.\n* `rw` - Read and write permissions.",
                    "example": "rw",
                    "type": "string"
                  },
                  "private": {
                    "description": "Whether the subaccount's Web Disk directory permissions are public or private.\n\n* `1` - Private (`0700`).\n* `0` - Public (`0755`).",
                    "enum": [
                      0,
                      1
                    ],
                    "example": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "special": {
            "description": "Whether the account is a system-created special account that the user **cannot** remove.\n* `1` - A special account.\n* `0` - **Not** a special account.",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "type": "integer"
          },
          "sub_account_exists": {
            "description": "Whether a subaccount exists with the same username.\n* `1` - Exists.\n* `0` - Does not exist.\n\n**Note:**\n\nThe function returns a null value if the account is **not** a service account.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "nullable": true,
            "type": "integer"
          },
          "synced_password": {
            "description": "Whether the user has synchronized the passwords for each of the subaccount's service accounts.\n* `1` - Synchronized.\n* `0` - **Not** synchronized.\n\n**Note:**\n\nThe function returns a null value if the account is **not** a subaccount.",
            "enum": [
              0,
              1
            ],
            "example": 0,
            "nullable": true,
            "type": "integer"
          },
          "type": {
            "description": "The type of account.\n* `sub` - A subaccount.\n* `hypothetical` - A hypothetical subaccount that does not exist, but that the user could create as part of a merge.\n* `service` - A service account.\n* `cpanel` - The cPanel account.",
            "enum": [
              "sub",
              "hypothetical",
              "service",
              "cpanel"
            ],
            "example": "sub",
            "type": "string"
          },
          "username": {
            "description": "The subaccount's username.",
            "example": "example",
            "type": "string"
          }
        },
        "type": "object"
      },
      "SubaccountMergeCandidates": {
        "properties": {
          "merge_candidates": {
            "description": "An array of objects that represents the service accounts that the system could merge for this subaccount.",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/EditUserSubaccountBase"
                },
                {
                  "$ref": "#/components/schemas/SubaccountMergeCandidatesEmpty"
                }
              ]
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SubaccountMergeCandidatesEmpty": {
        "properties": {
          "merge_candidates": {
            "description": "An array of objects that represents the service accounts that the system could merge for this subaccount.",
            "items": {
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "TeamArray": {
        "items": {
          "properties": {
            "contact-email": {
              "example": "team_user@example.com",
              "type": "string",
              "format": "email"
            },
            "created": {
              "example": 1650036110,
              "type": "integer",
              "format": "unix_timestamp"
            },
            "expire_date": {
              "example": 1674575562,
              "type": "integer",
              "format": "unix_timestamp"
            },
            "expire_reason": {
              "example": "team user 1 year",
              "type": "string"
            },
            "lastlogin": {
              "example": 1650046110,
              "type": "integer",
              "format": "unix_timestamp"
            },
            "locale": {
              "example": "en",
              "type": "string"
            },
            "notes": {
              "example": "This is a note about team user.",
              "type": "string"
            },
            "password": {
              "example": "encryptedpassword",
              "type": "string"
            },
            "roles": {
              "items": {
                "example": "email,web",
                "type": "string"
              },
              "type": "array"
            },
            "secondary-contact-email": {
              "example": "team_user_backup@example.com",
              "type": "string",
              "format": "email"
            },
            "services": {
              "$ref": "#/components/schemas/Services"
            },
            "suspend_date": {
              "example": 1650046210,
              "type": "integer",
              "format": "unix-timestamp"
            },
            "suspend_reason": {
              "example": "team user is on vacation",
              "type": "string"
            },
            "username": {
              "example": "teamuser",
              "type": "string"
            }
          }
        },
        "type": "array"
      },
      "TeamHash": {
        "properties": {
          "owner": {
            "example": "cPanelUser",
            "type": "string"
          },
          "users": {
            "properties": {
              "username": {
                "example": "teamuser",
                "type": "string"
              },
              "info": {
                "properties": {
                  "contact-email": {
                    "example": "team_user@example.com",
                    "type": "string",
                    "format": "email"
                  },
                  "created": {
                    "example": 1650036110,
                    "type": "integer",
                    "format": "unix_timestamp"
                  },
                  "expire_date": {
                    "example": 1674575562,
                    "type": "integer",
                    "format": "unix_timestamp"
                  },
                  "expire_reason": {
                    "example": "team user 1 year",
                    "type": "string"
                  },
                  "lastlogin": {
                    "example": 1650046110,
                    "type": "integer",
                    "format": "unix_timestamp"
                  },
                  "locale": {
                    "example": "en",
                    "type": "string"
                  },
                  "notes": {
                    "example": "This is a note about team_user.",
                    "type": "string"
                  },
                  "password": {
                    "example": "encryptedpassword",
                    "type": "string"
                  },
                  "roles": {
                    "items": {
                      "example": "email,web",
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "secondary-contact-email": {
                    "example": "team_user_backup@example.com",
                    "type": "string",
                    "format": "email"
                  },
                  "services": {
                    "$ref": "#/components/schemas/Services"
                  },
                  "suspend_date": {
                    "type": "string"
                  },
                  "suspend_reason": {
                    "example": "teamUser is on vacation",
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "type": "object"
      },
      "index_type": {
        "description": "The directory's indexing type.\n\n* `standard` - The directory uses directory indexing with standard formatting.\n* `disabled` - The directory doesn't use directory indexing.\n* `inherit` - The directory uses the system's default settings.\n* `fancy` - The directory uses directory indexing with Apache® `httpd`’s `FancyIndexing` directive. The directory will include additional information such as file size and the date of the file's last update.",
        "enum": [
          "standard",
          "disabled",
          "inherit",
          "fancy"
        ],
        "example": "inherit",
        "type": "string"
      },
      "trace_deliveryResponseBase": {
        "properties": {
          "address": {
            "description": "The email address of an email message recipient.",
            "example": "username@example.com",
            "format": "email",
            "type": "string"
          },
          "type": {
            "description": "A type of trace node. The system returns this value to indicate the **end** of routing.\n* `bounce` - The system rejected the email's delivery.\n* `command` - The system will run a command when it receives an email.\n* `defer` - The system deferred the email.\n* `discard` - The system discarded the email.\n* `error` - The system encountered an error.\n* `local_delivery` - The system sent the email to a local mailbox.\n* `remote_delivery` - The system sent the email via Simple Mail Transfer Protocol (SMTP).\n* `routed` - The system routed the email elsewhere.\n\n**Note:**\n* The structure of the `destinations` return changes depending on the `type` return value.\n* The `routed` type can return any other type's data structure as part of the `destinations` return value.\n\nFor more information, see the return structure for each `type` return value below:",
            "example": "local_delivery",
            "type": "string"
          }
        }
      },
      "trace_deliveryResponseBounce": {
        "allOf": [
          {
            "$ref": "#/components/schemas/trace_deliveryResponseBase"
          },
          {
            "properties": {
              "destinations": {
                "properties": {
                  "message": {
                    "description": "A message that the system sends when it rejects the delivery of an email.",
                    "example": "The system rejected the message.",
                    "type": "string"
                  },
                  "type": {
                    "$ref": "#/components/schemas/trace_deliveryTypeDescription"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        ]
      },
      "trace_deliveryResponseCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/trace_deliveryResponseBase"
          },
          {
            "properties": {
              "destinations": {
                "properties": {
                  "command": {
                    "description": "A command that the system runs when it receives the email.",
                    "example": "/usr/local/cpanel/bin/autorespond user@example.com /home/cpmailuser/.autorespond",
                    "type": "string"
                  },
                  "type": {
                    "$ref": "#/components/schemas/trace_deliveryTypeDescription"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        ]
      },
      "trace_deliveryResponseDefer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/trace_deliveryResponseBase"
          },
          {
            "properties": {
              "destinations": {
                "properties": {
                  "message": {
                    "description": "A message that the system sends when it defers the email.",
                    "example": "The system deferred the message.",
                    "type": "string"
                  },
                  "type": {
                    "$ref": "#/components/schemas/trace_deliveryTypeDescription"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        ]
      },
      "trace_deliveryResponseDiscard": {
        "allOf": [
          {
            "$ref": "#/components/schemas/trace_deliveryResponseBase"
          },
          {
            "properties": {
              "destinations": {
                "properties": {
                  "aliasfile": {
                    "description": "The file path on the system where Exim searched for the `address` return value's aliases.\n\n**Note:**\n\nThe function **only** returns this value if an alias exists for the `address` value.",
                    "example": "/etc/valiases/example.com",
                    "format": "path",
                    "type": "string"
                  },
                  "type": {
                    "$ref": "#/components/schemas/trace_deliveryTypeDescription"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        ]
      },
      "trace_deliveryResponseError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/trace_deliveryResponseBase"
          },
          {
            "properties": {
              "destinations": {
                "properties": {
                  "message": {
                    "description": "An error message from the system.",
                    "example": "The mail server could not deliver mail to user@example2.com. The account or domain may not exist, they may be blacklisted, or missing the proper dns entries.",
                    "type": "string"
                  },
                  "result": {
                    "description": "An error message.",
                    "example": "DNS lookup of example2.com (MX) gave HOST_NOT_FOUND",
                    "type": "string"
                  },
                  "type": {
                    "$ref": "#/components/schemas/trace_deliveryTypeDescription"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        ]
      },
      "trace_deliveryResponseLocalDelivery": {
        "allOf": [
          {
            "$ref": "#/components/schemas/trace_deliveryResponseBase"
          },
          {
            "properties": {
              "destinations": {
                "properties": {
                  "mailbox": {
                    "description": "The mailbox where the system sent the email.",
                    "example": "user@example.com",
                    "format": "email",
                    "type": "string"
                  },
                  "type": {
                    "$ref": "#/components/schemas/trace_deliveryTypeDescription"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        ]
      },
      "trace_deliveryResponseRemoteDelivery": {
        "allOf": [
          {
            "$ref": "#/components/schemas/trace_deliveryResponseBase"
          },
          {
            "properties": {
              "destinations": {
                "items": {
                  "properties": {
                    "mx": {
                      "description": "An array of strings containing [mail exchanger (MX) information](https://en.wikipedia.org/wiki/MX_record).\n\nEach string contains information for a single mail exchanger (MX), including:\n * The server's hostname.\n * The server's resolving IP address.\n * The MX record's priority. The lower the value, the higher its priority.\n * Whether DNSSEC is enabled for the hostname.",
                      "items": {
                        "example": "host.example.com [10.0.0.1] MX=20 dnssec=no",
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "type": {
                      "$ref": "#/components/schemas/trace_deliveryTypeDescription"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              }
            }
          }
        ]
      },
      "trace_deliveryType": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/trace_deliveryResponseBounce"
          },
          {
            "$ref": "#/components/schemas/trace_deliveryResponseCommand"
          },
          {
            "$ref": "#/components/schemas/trace_deliveryResponseDefer"
          },
          {
            "$ref": "#/components/schemas/trace_deliveryResponseDiscard"
          },
          {
            "$ref": "#/components/schemas/trace_deliveryResponseError"
          },
          {
            "$ref": "#/components/schemas/trace_deliveryResponseLocalDelivery"
          },
          {
            "$ref": "#/components/schemas/trace_deliveryResponseRemoteDelivery"
          }
        ],
        "discriminator": {
          "mapping": {
            "bounce": "#/components/schemas/trace_deliveryResponseBounce",
            "command": "#/components/schemas/trace_deliveryResponseCommand",
            "defer": "#/components/schemas/trace_deliveryResponseDefer",
            "discard": "#/components/schemas/trace_deliveryResponseDiscard",
            "error": "#/components/schemas/trace_deliveryResponseError",
            "local_delivery": "#/components/schemas/trace_deliveryResponseLocalDelivery",
            "remote_delivery": "#/components/schemas/trace_deliveryResponseRemoteDelivery"
          },
          "propertyName": "type"
        }
      },
      "trace_deliveryTypeDescription": {
        "description": "A type of trace node. The system returns this value to indicate the **end** of routing.\n* `bounce` - The system rejected the email's delivery.\n* `command` - The system will run a command when it receives an email.\n* `defer` - The system deferred the email.\n* `discard` - The system discarded the email.\n* `error` - The system encountered an error.\n* `local_delivery` - The system sent the email to a local mailbox.\n* `remote_delivery` - The system sent the email via Simple Mail Transfer Protocol (SMTP).\n* `routed` - The system routed the email elsewhere.\n\n**Note:**\n* The structure of the `destinations` return changes depending on the `type` return value.\n* The `routed` type can return any other type's data structure as part of the `destinations` return value.",
        "example": "local_delivery",
        "type": "string"
      },
      "schemas-TeamArray": {
        "items": {
          "properties": {
            "contact-email": {
              "example": "team_user@example.com",
              "type": "string",
              "format": "email"
            },
            "created": {
              "example": 1650036110,
              "type": "integer",
              "format": "unix_timestamp"
            },
            "expire_date": {
              "example": 1674575562,
              "type": "integer",
              "format": "unix_timestamp"
            },
            "expire_reason": {
              "example": "team user 1 year",
              "type": "string"
            },
            "lastlogin": {
              "example": 1650046110,
              "type": "integer",
              "format": "unix_timestamp"
            },
            "locale": {
              "example": "en",
              "type": "string"
            },
            "notes": {
              "example": "This is a note about team user.",
              "type": "string"
            },
            "roles": {
              "items": {
                "example": "Email,Web",
                "type": "string"
              },
              "type": "array"
            },
            "secondary-contact-email": {
              "example": "team_user_backup@example.com",
              "type": "string",
              "format": "email"
            },
            "services": {
              "$ref": "#/components/schemas/Services"
            },
            "suspend_date": {
              "example": 1650046210,
              "type": "integer",
              "format": "unix-timestamp"
            },
            "suspend_reason": {
              "example": "team user is on vacation",
              "type": "string"
            },
            "username": {
              "example": "teamuser",
              "type": "string"
            }
          }
        },
        "type": "array"
      }
    },
    "securitySchemes": {
      "BasicAuth": {
        "scheme": "basic",
        "type": "http"
      }
    }
  },
  "externalDocs": {
    "url": "https://cpanel.net/developers/"
  },
  "info": {
    "contact": {
      "email": "cs@cpanel.net",
      "name": "WebPros International, LLC",
      "url": "https://cpanel.net/support/"
    },
    "description": "UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.",
    "license": {
      "name": "cPanel License",
      "url": "https://cpanel.net/legal-notices/"
    },
    "termsOfService": "https://cpanel.net/legal-notices/",
    "title": "cPanel UAPI",
    "version": "11.137.9999.106"
  },
  "openapi": "3.0.2",
  "paths": {
    "/AccountEnhancements/has_enhancement": {
      "get": {
        "x-readonly": true,
        "description": "This function returns whether a cPanel account has a specific [Account Enhancement](https://go.cpanel.net/account-enhancements).",
        "operationId": "AccountEnhancements-has_enhancement",
        "parameters": [
          {
            "in": "query",
            "name": "id",
            "description": "The identifier for a specific Account Enhancement.\n\n**Note:**\n\nTo retrieve a list of all Account Enhancements IDs on the server, run the WHM API 1 `list_account_enhancements` function.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "sample-enhancement-id"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "AccountEnhancements",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "* `1` - The Account Enhancement is assigned to the cPanel account.\n* `0` - The Account Enhancement is not assigned to the cPanel account.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `reason` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Validate Account Enhancement assignment",
        "tags": [
          "Account Enhancements"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  AccountEnhancements \\\n  has_enhancement \\\n  id=account_enhancement\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/AccountEnhancements/has_enhancement?id=account_enhancement"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file AccountEnhancements_has_enhancement.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/AccountEnhancements_has_enhancement.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/AccountEnhancements/,\n    q/has_enhancement/,\n    q/id=account_enhancement/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file AccountEnhancements_has_enhancement.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/AccountEnhancements_has_enhancement.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'AccountEnhancements',\n    'has_enhancement',\n    array('id' => 'sample_enhancement')\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 98"
      }
    },
    "/AccountEnhancements/list": {
      "get": {
        "x-readonly": true,
        "description": "This function lists a cPanel account's [Account Enhancements](https://go.cpanel.net/account-enhancements).",
        "operationId": "AccountEnhancements-list",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "AccountEnhancements",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object that contains the Account Enhancements that the cPanel account can access",
                          "items": {
                            "properties": {
                              "id": {
                                "description": "The Account Enhancement's id.",
                                "example": "sample-enhancement-id",
                                "type": "string",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "name": {
                                "description": "The Account Enhancement's name.",
                                "example": "Sample Enhancement",
                                "type": "string",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return all cPanel account's Account Enhancements",
        "tags": [
          "Account Enhancements"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  AccountEnhancements \\\n  list\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/AccountEnhancements/list"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file AccountEnhancements_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/AccountEnhancements_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/AccountEnhancements/,\n    q/list/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file AccountEnhancements_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/AccountEnhancements_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'AccountEnhancements',\n    'list'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 98"
      }
    },
    "/AddonDomain/addaddondomain": {
      "get": {
        "description": "This function creates an addon domain on the cPanel account. It creates a\nsubdomain of the account's primary domain and then parks the new domain on\nthat subdomain.\n\n**Important:**\n\n- The account's primary domain may **not** be a subdomain of the addon\n  domain that you create.\n- You cannot create a wildcard addon domain.\n- If the subdomain already exists on the account, the system reuses it\n  rather than failing.\n- If the park step fails, the system removes the subdomain it created, so\n  that a failed call does not leave a partial addon domain behind.\n- The system also creates an [FTP](https://go.cpanel.net/ftpaccounts)\n  account for the addon domain, which counts against the account's FTP\n  account limit.\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles),\nthe system **disables** this function.",
        "operationId": "AddonDomain-addaddondomain",
        "parameters": [
          {
            "description": "The addon domain to create.",
            "in": "query",
            "name": "newdomain",
            "required": true,
            "schema": {
              "example": "addon.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The label of the subdomain to create on the account's primary domain and park the addon domain on. This value may **not** contain an asterisk (`*`).",
            "in": "query",
            "name": "subdomain",
            "required": true,
            "schema": {
              "example": "addon",
              "type": "string"
            }
          },
          {
            "description": "The addon domain's document root, given as a directory path relative to the account's home directory.\n\nThis value defaults to the subdomain label beneath the account's `public_html` directory.",
            "in": "query",
            "name": "dir",
            "required": false,
            "schema": {
              "example": "/public_html/addon",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "Whether to remove the dot (`.`) characters from the `subdomain` value.\n* `1` - Remove dots from the subdomain label.\n* `0` - Do **not** remove dots from the subdomain label.",
            "in": "query",
            "name": "disallowdot",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to create the addon domain even when the domain fails the system's name, [DNS](https://go.cpanel.net/dnsrecords) and registration checks. When you pass this parameter, the system overwrites an existing DNS zone for the domain.\n\nThe system still refuses to create a domain that another account owns.\n* `1` - Skip the checks and overwrite an existing zone.\n* `0` - Enforce the checks.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "The created addon domain.",
                      "properties": {
                        "domain": {
                          "description": "The addon domain that the system created.",
                          "example": "addon.com",
                          "format": "domain",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "errors": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "messages": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "metadata": {
                      "properties": {
                        "transformed": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                      "enum": [
                        0,
                        1
                      ],
                      "example": 1,
                      "type": "integer"
                    },
                    "warnings": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create an addon domain",
        "tags": [
          "AddonDomain"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  AddonDomain \\\n  addaddondomain \\\n  newdomain='addon.com' \\\n  subdomain='addon'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/AddonDomain/addaddondomain?newdomain=addon.com&subdomain=addon"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file AddonDomain_addaddondomain.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/AddonDomain_addaddondomain.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/AddonDomain/,\n    q/addaddondomain/,\n    {\n        'newdomain' => 'addon.com',\n        'subdomain' => 'addon',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file AddonDomain_addaddondomain.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/AddonDomain_addaddondomain.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'AddonDomain',\n    'addaddondomain',\n    array (\n        'newdomain' => 'addon.com',\n        'subdomain' => 'addon',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138",
        "x-readonly": false
      }
    },
    "/AddonDomain/deladdondomain": {
      "get": {
        "description": "This function removes an addon domain from the cPanel account. It unparks\nthe addon domain and then removes the subdomain that the domain was parked\non.\n\n**Important:**\n\n- The `domain` and `subdomain` values must match each other. If the\n  subdomain does not correspond to the addon domain, the function fails.\n- If other domains are still parked on the subdomain, the system unparks\n  the addon domain but leaves the subdomain in place, and says so in the\n  `messages` field.\n- This function does **not** remove the addon domain's document root or\n  the files in it.\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles),\nthe system **disables** this function.",
        "operationId": "AddonDomain-deladdondomain",
        "parameters": [
          {
            "description": "The addon domain to remove.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "addon.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The subdomain that the addon domain is parked on, given in the underscore-separated `subdomain_rootdomain` form that the `AddonDomain::listaddondomains` function returns in its `domainkey` field.",
            "in": "query",
            "name": "subdomain",
            "required": true,
            "schema": {
              "example": "addon_example.com",
              "type": "string"
            }
          },
          {
            "description": "Whether to remove the dot (`.`) characters from the subdomain label when the system removes the subdomain.\n* `1` - Remove dots from the subdomain label.\n* `0` - Do **not** remove dots from the subdomain label.",
            "in": "query",
            "name": "disallowdot",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "This function does not return data. Check the `status` field for the outcome, and the `messages` and `errors` fields for detail."
                    },
                    "errors": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "messages": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "metadata": {
                      "properties": {
                        "transformed": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                      "enum": [
                        0,
                        1
                      ],
                      "example": 1,
                      "type": "integer"
                    },
                    "warnings": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove an addon domain",
        "tags": [
          "AddonDomain"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  AddonDomain \\\n  deladdondomain \\\n  domain='addon.com' \\\n  subdomain='addon_example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/AddonDomain/deladdondomain?domain=addon.com&subdomain=addon_example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file AddonDomain_deladdondomain.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/AddonDomain_deladdondomain.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/AddonDomain/,\n    q/deladdondomain/,\n    {\n        'domain' => 'addon.com',\n        'subdomain' => 'addon_example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file AddonDomain_deladdondomain.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/AddonDomain_deladdondomain.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'AddonDomain',\n    'deladdondomain',\n    array (\n        'domain' => 'addon.com',\n        'subdomain' => 'addon_example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138",
        "x-readonly": false
      }
    },
    "/AddonDomain/listaddondomains": {
      "get": {
        "description": "This function lists the cPanel account's addon domains: the domains that\nare parked on a subdomain of the account's primary domain, rather than on\nthe primary domain itself.\n\n**Note:**\n\nUse the `Park::listparkeddomains` function for the domains parked on the\nprimary domain.",
        "operationId": "AddonDomain-listaddondomains",
        "parameters": [
          {
            "description": "A Perl regular expression. The system returns only the addon domains whose name matches this pattern, case-insensitively.",
            "in": "query",
            "name": "regex",
            "required": false,
            "schema": {
              "example": "addon[.]com$",
              "type": "string"
            }
          },
          {
            "description": "Whether to include the `can_https_redirect` and `is_https_redirecting` fields in each entry.\n* `1` - Include the HTTPS redirect status.\n* `0` - Omit the HTTPS redirect status.",
            "in": "query",
            "name": "return_https_redirect_status",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "One entry for each addon domain on the account, sorted by domain name.",
                      "items": {
                        "properties": {
                          "basedir": {
                            "description": "The addon domain's document root, relative to the account's home directory.",
                            "example": "public_html/addon",
                            "type": "string"
                          },
                          "can_https_redirect": {
                            "description": "Whether the system can redirect the addon domain to `HTTPS`. The system only returns this field when you pass the `return_https_redirect_status` parameter.\n* `1` - The system can redirect the addon domain.\n* `0` - The system cannot redirect the addon domain.",
                            "enum": [
                              0,
                              1
                            ],
                            "example": 1,
                            "type": "integer"
                          },
                          "dir": {
                            "description": "The absolute path to the addon domain's document root.",
                            "example": "/home/username/public_html/addon",
                            "format": "path",
                            "type": "string"
                          },
                          "domain": {
                            "description": "The addon domain.",
                            "example": "addon.com",
                            "format": "domain",
                            "type": "string"
                          },
                          "domainkey": {
                            "description": "The subdomain that the addon domain is parked on, in the underscore-separated `subdomain_rootdomain` form. Pass this value as the `subdomain` parameter of the `AddonDomain::deladdondomain` function.",
                            "example": "addon_example.com",
                            "type": "string"
                          },
                          "fullsubdomain": {
                            "description": "The fully qualified name of the subdomain that the addon domain is parked on.",
                            "example": "addon.example.com",
                            "format": "domain",
                            "type": "string"
                          },
                          "is_https_redirecting": {
                            "description": "Whether the system currently redirects the addon domain to `HTTPS`. The system only returns this field when you pass the `return_https_redirect_status` parameter.\n* `1` - The system redirects the addon domain.\n* `0` - The system does **not** redirect the addon domain.",
                            "enum": [
                              0,
                              1
                            ],
                            "example": 0,
                            "type": "integer"
                          },
                          "reldir": {
                            "description": "The addon domain's document root, relative to the account's home directory and prefixed with `home:`.",
                            "example": "home:public_html/addon",
                            "type": "string"
                          },
                          "rootdomain": {
                            "description": "The domain that the addon domain's subdomain belongs to.",
                            "example": "example.com",
                            "format": "domain",
                            "type": "string"
                          },
                          "status": {
                            "description": "The addon domain's rewrite status, or the URL that it redirects to.",
                            "example": "",
                            "type": "string"
                          },
                          "subdomain": {
                            "description": "The label of the subdomain that the addon domain is parked on, without the root domain.",
                            "example": "addon",
                            "type": "string"
                          },
                          "web_subdomain_aliases": {
                            "description": "The built-in service subdomain aliases, for example `www`, that the system serves for the addon domain.",
                            "items": {
                              "format": "domain",
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "errors": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "messages": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "metadata": {
                      "properties": {
                        "transformed": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                      "enum": [
                        0,
                        1
                      ],
                      "example": 1,
                      "type": "integer"
                    },
                    "warnings": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "List the addon domains",
        "tags": [
          "AddonDomain"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  AddonDomain \\\n  listaddondomains\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/AddonDomain/listaddondomains"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file AddonDomain_listaddondomains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/AddonDomain_listaddondomains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/AddonDomain/,\n    q/listaddondomains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file AddonDomain_listaddondomains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/AddonDomain_listaddondomains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'AddonDomain',\n    'listaddondomains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138",
        "x-readonly": true
      }
    },
    "/Backup/fullbackup_to_ftp": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a full backup to the remote server via File Transfer Protocol (FTP). The system creates a file in the `backup-MM.DD.YYYY_HH-mm-ss.tar.gz` filename format.",
        "operationId": "Backup-fullbackup_to_ftp",
        "parameters": [
          {
            "description": "The remote server's hostname or IP address.",
            "in": "query",
            "name": "host",
            "required": true,
            "schema": {
              "example": "example.com",
              "oneOf": [
                {
                  "description": "A valid hostname.",
                  "format": "hostname",
                  "type": "string"
                },
                {
                  "description": "A valid IP address.",
                  "format": "ipv4",
                  "type": "string"
                }
              ],
              "type": "string"
            }
          },
          {
            "description": "The remote server account's password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "luggage123456",
              "type": "string"
            }
          },
          {
            "description": "The remote server account's username.",
            "in": "query",
            "name": "username",
            "required": true,
            "schema": {
              "example": "username",
              "type": "string"
            }
          },
          {
            "description": "The directory on the remote server that will store the backup.\n\n**Note:**\n\n* This value defaults to the remote server account's default login directory.\n* Enter the directory relative to the FTP user's login directory. For example, enter `/public_ftp` not `/home/username/public_ftp`.",
            "in": "query",
            "name": "directory",
            "required": false,
            "schema": {
              "example": "/public_ftp",
              "type": "string"
            }
          },
          {
            "description": "The email address to receive a confirmation email when the backup completes.\n\n**Note:**\n\n The system does **not** provide confirmation if you do **not** pass this parameter.",
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "How to manage the home directory in the backup.\n\n* `include` — Include the home directory in the backup.\n* `skip` — Omit the home directory from the backup.",
            "in": "query",
            "name": "homedir",
            "required": false,
            "schema": {
              "default": "include",
              "enum": [
                "include",
                "skip"
              ],
              "example": "include",
              "type": "string"
            }
          },
          {
            "description": "The port number to use during the transfer.",
            "in": "query",
            "name": "port",
            "required": false,
            "schema": {
              "default": 21,
              "example": 21,
              "maximum": 65535,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to use the `active` or `passive` FTP variant to connect to\nthe remote server. For more information about FTP variants, read our How\nto [Enable FTP Passive Mode](https://go.cpanel.net/HowtoEnableFTPPassiveMode) documentation.\n* `active` — The FTP server responds to the connection attempt and returns a connection request from a different port to the FTP client.\n* `passive` — The FTP client initiates connection attempts.",
            "in": "query",
            "name": "variant",
            "required": false,
            "schema": {
              "default": "active",
              "enum": [
                "active",
                "passive"
              ],
              "example": "active",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fullbackup_to_ftp",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Backup",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "pid": {
                              "description": "The backup's process identifier.",
                              "example": "2857",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Back up cPanel account via FTP",
        "tags": [
          "Backup"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  fullbackup_to_ftp \\\n  username='username' \\\n  password='luggage123456' \\\n  host='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Backup/fullbackup_to_ftp?username=username&password=luggage123456&host=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Backup_fullbackup_to_ftp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_ftp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Backup/,\n    q/fullbackup_to_ftp/,\n    {\n        'username' => 'username',\n        'password' => 'luggage123456',\n        'host' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Backup_fullbackup_to_ftp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_ftp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Backup',\n    'fullbackup_to_ftp',\n    array (\n        'username' => 'username',\n        'password' => 'luggage123456',\n        'host' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/Backup/fullbackup_to_homedir": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a full backup to the user's home directory. The system creates a file in the `backup-MM.DD.YYYY_HH-mm-ss_username.tar.gz` filename format.",
        "operationId": "Backup-fullbackup_to_homedir",
        "parameters": [
          {
            "description": "The email address to receive a confirmation email when the backup process completes.\n\n**Note:**\n\nThe system does **not** provide confirmation if you do not pass this parameter.",
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "How to manage the home directory in the backup.\n\n* `include` — Include the home directory in the backup.\n* `skip` — Omit the home directory from the backup.",
            "in": "query",
            "name": "homedir",
            "required": false,
            "schema": {
              "default": "include",
              "enum": [
                "include",
                "skip"
              ],
              "example": "include",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fullbackup_to_homedir",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Backup",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "pid": {
                              "description": "The backup's process identifier.",
                              "example": "2857",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Back up cPanel account to home directory",
        "tags": [
          "Backup"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  fullbackup_to_homedir\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Backup/fullbackup_to_homedir"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Backup_fullbackup_to_homedir.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_homedir.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Backup/,\n    q/fullbackup_to_homedir/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Backup_fullbackup_to_homedir.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_homedir.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Backup',\n    'fullbackup_to_homedir'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/Backup/fullbackup_to_scp_with_key": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a full backup to a remote server with a private SSH key via the secure copy protocol (scp) command. The system creates a file in the `backup-MM.DD.YYYY_HH-mm-ss_username.tar.gz` filename format.",
        "operationId": "Backup-fullbackup_to_scp_with_key",
        "parameters": [
          {
            "description": "The remote server's hostname or IP address.",
            "in": "query",
            "name": "host",
            "required": true,
            "schema": {
              "example": "example.com",
              "oneOf": [
                {
                  "description": "A valid hostname.",
                  "format": "hostname",
                  "type": "string"
                },
                {
                  "description": "A valid IP address.",
                  "format": "ipv4",
                  "type": "string"
                }
              ],
              "type": "string"
            }
          },
          {
            "description": "The SSH key's name.\n\n**Notes:**\n\n* To generate a private SSH key, use the UAPI `SSL::generate_key`\nfunction.\n* To import an existing SSH key, use the cPanel API 2\n`SSH::importkey` function.",
            "in": "query",
            "name": "key_name",
            "required": true,
            "schema": {
              "example": "examplesshkey",
              "type": "string"
            }
          },
          {
            "description": "The SSH key's password.",
            "in": "query",
            "name": "key_passphrase",
            "required": true,
            "schema": {
              "example": "123456luggage",
              "minLength": 4,
              "type": "string"
            }
          },
          {
            "description": "The directory on the remote server that will store the backup.\n\n**Note:**\n\nThis parameter defaults to the remote server account's default login directory.",
            "in": "query",
            "name": "directory",
            "required": false,
            "schema": {
              "example": "/user",
              "type": "string"
            }
          },
          {
            "description": "The email address to receive a confirmation email when the backup completes.\n\n**Note:**\n\nThe system does **not** provide confirmation if you do not pass this parameter.",
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "How to manage the home directory in the backup.\n\n* `include` — Include the home directory in the backup.\n* `skip` — Omit the home directory from the backup.",
            "in": "query",
            "name": "homedir",
            "required": false,
            "schema": {
              "default": "include",
              "enum": [
                "include",
                "skip"
              ],
              "example": "include",
              "type": "string"
            }
          },
          {
            "description": "The port to use during the transfer.",
            "in": "query",
            "name": "port",
            "required": false,
            "schema": {
              "default": 22,
              "example": 22,
              "maximum": 65335,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fullbackup_to_scp_with_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Backup",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "pid": {
                              "description": "The backup's process identifier.",
                              "example": "2857",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Back up cPanel account via SCP with SSH key",
        "tags": [
          "Backup"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  fullbackup_to_scp_with_key \\\n  host='example.com' \\\n  key_name='examplesshkey' \\\n  key_passphrase='123456luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Backup/fullbackup_to_scp_with_key?host=example.com&key_name=examplesshkey&key_passphrase=123456luggage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Backup_fullbackup_to_scp_with_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_scp_with_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Backup/,\n    q/fullbackup_to_scp_with_key/,\n    {\n        'host' => 'example.com',\n        'key_name' => 'examplesshkey',\n        'key_passphrase' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Backup_fullbackup_to_scp_with_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_scp_with_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Backup',\n    'fullbackup_to_scp_with_key',\n    array (\n        'host' => 'example.com',\n        'key_name' => 'examplesshkey',\n        'key_passphrase' => '123456luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/Backup/fullbackup_to_scp_with_password": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a full backup to a remote server via the secure copy protocol (`scp`) command with a password. The system creates a file in the `backup-MM.DD.YYYY_HH-mm-ss.tar.gz` filename format.",
        "operationId": "Backup-fullbackup_to_scp_with_password",
        "parameters": [
          {
            "description": "The remote server's hostname or IP address.",
            "in": "query",
            "name": "host",
            "required": true,
            "schema": {
              "example": "example.com",
              "oneOf": [
                {
                  "description": "A valid ipv4 address.",
                  "format": "ipv4",
                  "type": "string"
                },
                {
                  "description": "A valid hostname.",
                  "format": "hostname",
                  "type": "string"
                }
              ],
              "type": "string"
            }
          },
          {
            "description": "The remote server account's password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "luggage123456",
              "type": "string"
            }
          },
          {
            "description": "The remote server account's username.",
            "in": "query",
            "name": "username",
            "required": true,
            "schema": {
              "example": "username",
              "type": "string"
            }
          },
          {
            "description": "The directory on the remote server that will store the backup.\n\n**Note:**\n\nThis parameter defaults to the remote server account's default login directory.",
            "in": "query",
            "name": "directory",
            "required": false,
            "schema": {
              "example": "/user",
              "type": "string"
            }
          },
          {
            "description": "The email address to receive a confirmation email when the backup completes.\n\n**Note:**\n\nThe system does **not** provide confirmation if you do **not** pass this parameter.",
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "How to manage the home directory in the backup.\n\n* `include` — Include the home directory in the backup.\n* `skip` — Omit the home directory from the backup.",
            "in": "query",
            "name": "homedir",
            "required": false,
            "schema": {
              "default": "include",
              "enum": [
                "include",
                "skip"
              ],
              "example": "include",
              "type": "string"
            }
          },
          {
            "description": "The port to use during the transfer.",
            "in": "query",
            "name": "port",
            "required": false,
            "schema": {
              "default": 22,
              "example": 22,
              "maximum": 65335,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fullbackup_to_scp_with_password",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Backup",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "pid": {
                              "description": "The backup's process identifier.",
                              "example": "2857",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Back up cPanel account via SCP with password",
        "tags": [
          "Backup"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  fullbackup_to_scp_with_password \\\n  host='example.com' \\\n  username='username' \\\n  password='luggage123456'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Backup/fullbackup_to_scp_with_password?host=example.com&username=username&password=luggage123456"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Backup_fullbackup_to_scp_with_password.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_scp_with_password.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Backup/,\n    q/fullbackup_to_scp_with_password/,\n    {\n        'host' => 'example.com',\n        'username' => 'username',\n        'password' => 'luggage123456',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Backup_fullbackup_to_scp_with_password.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Backup_fullbackup_to_scp_with_password.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Backup',\n    'fullbackup_to_scp_with_password',\n    array (\n        'host' => 'example.com',\n        'username' => 'username',\n        'password' => 'luggage123456',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/Backup/list_backups": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the account's backup files.",
        "operationId": "Backup-list_backups",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_backups",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Backup",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of the account's backup files.",
                          "items": {
                            "example": "2014-12-02T00:00:00.000Z",
                            "format": "ISO-8601 Date",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "cnt": {
                              "description": "The number of backup files.",
                              "example": 1,
                              "type": "integer"
                            },
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return backup files",
        "tags": [
          "Backup"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  list_backups\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Backup/list_backups"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Backup_list_backups.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Backup_list_backups.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Backup/,\n    q/list_backups/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Backup_list_backups.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Backup_list_backups.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Backup',\n    'list_backups'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Backup/restore_databases": {
      "post": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function restores a database's backup files.\n\n**Important:**\n\nWhen the [MySQL Client role](https://go.cpanel.net/howtouseserverprofiles#roles) is disabled, the system also **disables** this function.\n\n**Note:**\n\nYou **must** pass either the `file` **or** `backup` parameter.",
        "operationId": "Backup-restore_databases",
        "parameters": [
          {
            "description": "The database backup file to restore.\n\n**Important:**\n\n**Only** pass this parameter to restore files already on the server.\n\n**Note:**\n\nTo restore multiple database backup files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`.",
            "examples": {
              "multiple": {
                "summary": "Restore multiple database backup files.",
                "value": "backup-1=home/user/user_db1.sql.gz backup-2=home/user/user_db2.sql.gz backup-3=home/user/user_db3.sql.gz"
              },
              "single": {
                "summary": "Restore a single database backup file.",
                "value": "home/user/user_db1.sql.gz"
              }
            },
            "in": "query",
            "name": "backup",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The maximum number of seconds to try to restore the file.\n* `0` - The system will not time out the file restoration.",
            "in": "query",
            "name": "timeout",
            "required": false,
            "schema": {
              "default": 7200,
              "example": 3600,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether to return additional information from the `/usr/local/cpanel/logs/cpbackup` log file.\n* `1` - Return additional information.\n* `0` - Do **not** return additional information.",
            "in": "query",
            "name": "verbose",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "file": {
                    "format": "binary",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "The database backup file to upload and restore.\n\n**Important:**\n\n* **Only** pass this parameter to upload files that don't already exist on the server.\n* You can **not** pass this parameter on the command line.\n\n**Note:**\n\n* To upload multiple database backup files, increment the parameter name. For example: `file-1`, `file-2`, and `file-3`.\n* Pass this file in a multipart/form-data structure.\n* For more information about this structure, read Mozilla's [POST Method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) documentation."
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "restore_databases",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Backup",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "log_id": {
                              "description": "The log file's restoration identification (ID). The system uses the backup restoration's date to create this ID. The ID is in [ISO-8601 Date Time](https://en.wikipedia.org/wiki/ISO_8601) format with the log's revision number appended.",
                              "example": "2019-08-13T15:10:07Z.1",
                              "type": "string"
                            },
                            "log_path": {
                              "description": "The filepath to the backup restoration's log file.",
                              "example": "/home/cptest/logs/restoredb/2019-08-13T15:10:07Z.1.log",
                              "format": "path",
                              "type": "string"
                            },
                            "messages": {
                              "description": "An array of statements about the database's restoration.",
                              "items": {
                                "example": "The system successfully restored the database 'user_db1' from the backup file 'user_db1.sql.gz'",
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Restore databases",
        "tags": [
          "File Restoration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --input=json --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  restore_databases\n"
          },
          {
            "label": "HTTP Request (Wire Format)",
            "lang": "HTTP",
            "source": "POST /cpsess##########/execute/Backup/restore_databases HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 0\n\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/Backup/restore_email_filters": {
      "post": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function restores an account's email filters.\n\n**Important:**\n\nWhen the [Receive Mail role](https://go.cpanel.net/howtouseserverprofiles#roles) is disabled, the system also **disables** this function.\n\n**Note:**\n\nYou **must** use the `backup` parameter when you call this function in one of the following formats:\n* As part of a `multipart/form-data` request body to upload and restore a backup file to the server.\n* As a query parameter to restore an existing file on the server.",
        "operationId": "Backup-restore_email_filters",
        "parameters": [
          {
            "description": "The email filter file to restore.\n\n**Important:**\n\n**Only** pass this parameter to restore email filter files that already exist on the server.\n\n**Note:**\n\nTo restore multiple email filter files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`.",
            "examples": {
              "multiple": {
                "summary": "Restore multiple email filter files.",
                "value": "backup-1=/home/user/filter_info1.username.yaml.gz backup-2=/home/user/filter_info2.username.yaml.gz backup-3=/home/user/filter_info3.username.yaml.gz"
              },
              "single": {
                "summary": "Restore a single email filter file.",
                "value": "/home/user/filter_info.username.yaml.gz"
              }
            },
            "in": "query",
            "name": "backup",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The maximum number of seconds to try to restore the file.\n* `0` - The system will not time out the file restoration.",
            "in": "query",
            "name": "timeout",
            "required": false,
            "schema": {
              "default": 7200,
              "example": 3600,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether to return additional information from the `/home/cpuser/.cpanel/logs/restore-email-filters` log files.\n* `1` - Return additional information.\n* `0` - Do not return additional information.",
            "in": "query",
            "name": "verbose",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "backup": {
                    "format": "binary",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "The email filter file to upload and restore.\n\n**Important:**\n\n* **Only** pass this parameter to upload files that don't already exist on the server.\n* You can't pass this parameter on the command line.\n\n**Note:**\n\n* To upload multiple email filter files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`.\n* Pass this file in a multipart/form-data structure.\n* For more information about this structure, read Mozilla's [POST Method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) documentation."
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "restore_email_filters",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Backup",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "log_id": {
                              "description": "The log file's restoration identification (ID). The system uses the backup restoration's date to create this ID. The ID is in [ISO-8601 Date Time](https://en.wikipedia.org/wiki/ISO_8601) format with the log's revision number appended.",
                              "example": "2019-08-13T15:10:07Z.1",
                              "type": "string"
                            },
                            "log_path": {
                              "description": "The filepath to the backup restoration's log file.",
                              "example": "/home/cpuser/.cpanel/logs/restore-email-filters/2019-09-11T18:30:49Z.1.log",
                              "format": "path",
                              "type": "string"
                            },
                            "messages": {
                              "description": "An array of statements about the database's restoration.",
                              "items": {
                                "example": "The system successfully restored the email filters from the 'filter-info.user.yaml.gz' backup.",
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Restore email filters",
        "tags": [
          "File Restoration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --input=json --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  restore_email_filters\n"
          },
          {
            "label": "HTTP Request (Wire Format)",
            "lang": "HTTP",
            "source": "POST /cpsess##########/execute/Backup/restore_email_filters HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 0\n\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 86"
      }
    },
    "/Backup/restore_email_forwarders": {
      "post": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function restores an account's email forwarders.\n\n**Important:**\n\nWhen the [Receive Mail role](https://go.cpanel.net/howtouseserverprofiles#roles) is disabled, the system also **disables** this function.\n\n**Note:**\n\nYou **must** use the `backup` parameter when you call this function in one of the following formats:\n* As part of a `multipart/form-data` request body to upload and restore a backup file to the server. For more information about this structure, read Mozilla's [POST Method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) documentation.\n* As a query parameter to restore an existing file on the server.",
        "operationId": "Backup-restore_email_forwarders",
        "parameters": [
          {
            "description": "The email forwarder file to restore.\n\n**Important:**\n\n**Only** pass this parameter to restore email forwarder files that already exist on the server.\n\n**Note:**\n\nTo restore multiple email filter files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`.",
            "examples": {
              "multiple": {
                "summary": "Restore multiple email forwarder files.",
                "value": "backup-1=/home/user/aliases-example1.com.gz backup-2=/home/user/aliases-example2.com.gz backup-3=/home/user/aliases-example3.com.gz"
              },
              "single": {
                "summary": "Restore a single email forwarder file.",
                "value": "/home/user/aliases-example.com.gz"
              }
            },
            "in": "query",
            "name": "backup",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The maximum number of seconds to try to restore the file.\n* `0` - The system will not time out the file restoration.",
            "in": "query",
            "name": "timeout",
            "required": false,
            "schema": {
              "default": 7200,
              "example": 3600,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether to return additional information from the `/home/cpuser/.cpanel/logs/restore-email-forwarders` log files.\n* `1` - Return additional information.\n* `0` - Do not return additional information.",
            "in": "query",
            "name": "verbose",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "backup": {
                    "format": "binary",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "The email forwarder file to upload and restore.\n\n**Important:**\n\n* **Only** pass this parameter to upload files that don't already exist on the server.\n* You can't pass this parameter on the command line.\n\n**Note:**\n\nTo upload multiple email filter files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`."
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "restore_email_forwarders",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Backup",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "log_id": {
                              "description": "The log file's restoration identification (ID). The system uses the backup restoration's date to create this ID. The ID is in [ISO-8601 Date Time](https://en.wikipedia.org/wiki/ISO_8601) format with the log's revision number appended.",
                              "example": "2019-08-13T15:10:07Z.1",
                              "type": "string"
                            },
                            "log_path": {
                              "description": "The filepath to the backup restoration's log file.",
                              "example": "/home/cpuser/.cpanel/logs/restore-email-forwarders/2019-09-11T18:30:49Z.1.log",
                              "format": "path",
                              "type": "string"
                            },
                            "messages": {
                              "description": "An array of statements about the database's restoration.",
                              "items": {
                                "example": "The system successfully restored the email forwarders from the 'aliases-example.com.gz' backup.",
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Restore email forwarders",
        "tags": [
          "File Restoration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --input=json --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  restore_email_forwarders\n"
          },
          {
            "label": "HTTP Request (Wire Format)",
            "lang": "HTTP",
            "source": "POST /cpsess##########/execute/Backup/restore_email_forwarders HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 0\n\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 86"
      }
    },
    "/Backup/restore_files": {
      "post": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function restores an account's files.\n\n**Important:**\n\nWhen the [File Storage role](https://go.cpanel.net/howtouseserverprofiles#roles) is disabled, the system also **disables** this function.\n\n**Note:**\n\nYou **must** use the `backup` parameter when you call this function in one of the following formats:\n* As part of a `multipart/form-data` request body to upload and restore a backup file to the server. For more information about this structure, read Mozilla's [POST Method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) documentation.\n* As a query parameter to restore an existing file on the server.",
        "operationId": "Backup-restore_files",
        "parameters": [
          {
            "description": "The backup file to restore.\n\n**Important:**\n\n**Only** pass this parameter to restore backup files that already exist on the server.\n\n**Note:**\n\nTo restore multiple backup files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`.",
            "examples": {
              "multiple": {
                "summary": "Restore multiple backup files.",
                "value": "backup-1=/home/cpuser/backup-cpuser.tld-9-10-2019_1.tar.gz backup-2=/home/cpuser/backup-cpuser.tld-9-10-2019_2.tar.gz"
              },
              "single": {
                "summary": "Restore a single backup file.",
                "value": "/home/cpuser/backup-cpuser.tld-9-10-2019_1.tar.gz"
              }
            },
            "in": "query",
            "name": "backup",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The directory to which to restore the file. The default is the user's `home` directory.",
            "in": "query",
            "name": "directory",
            "required": false,
            "schema": {
              "example": "/home/user/example",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "The maximum number of seconds to try to restore the file.\n* `0` - The system will not time out the file restoration.",
            "in": "query",
            "name": "timeout",
            "required": false,
            "schema": {
              "default": 172800,
              "example": 7200,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether to return additional information from the `/home/cptest/.cpanel/logs/restorefiles` log files.\n* `1` - Return additional information.\n* `0` - Do not return additional information.",
            "in": "query",
            "name": "verbose",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "backup": {
                    "format": "binary",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "The backup file to upload and restore.\n\n**Important:**\n\n* **Only** pass this parameter to upload files that don't already exist on the server.\n* You can't pass this parameter on the command line.\n\n**Note:**\n\nTo upload and restore multiple backup files, increment the parameter name. For example: `backup-1`, `backup-2`, and `backup-3`."
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "restore_files",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Backup",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "log_id": {
                              "description": "The log file's restoration identification (ID). The system uses the backup restoration's date to create this ID. The ID is in [ISO-8601 Date Time](https://en.wikipedia.org/wiki/ISO_8601) format with the log's revision number appended.",
                              "example": "2019-08-13T15:10:07Z.1",
                              "type": "string"
                            },
                            "log_path": {
                              "description": "The filepath to the backup restoration's log file.",
                              "example": "/home/cptest/.cpanel/logs/restorefiles/2019-08-13T15:10:07Z.1.log",
                              "format": "path",
                              "type": "string"
                            },
                            "messages": {
                              "description": "An array of statements about the database's restoration.",
                              "items": {
                                "example": "The system successfully restored the directory /home/cpuser/point2 from the backup file backup-cpuser.tld-9-10-2019_1.tar.gz",
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Restore files",
        "tags": [
          "File Restoration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --input=json --output=jsonpretty \\\n  --user=username \\\n  Backup \\\n  restore_files\n"
          },
          {
            "label": "HTTP Request (Wire Format)",
            "lang": "HTTP",
            "source": "POST /cpsess##########/execute/Backup/restore_files HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 0\n\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 86"
      }
    },
    "/BackupInfo/list": {
      "get": {
        "description": "Scans the current cPanel user's home directory for full-account backup archives and returns one entry per archive, deriving real status from the on-disk marker file cPanel writes during a run. Single source of truth for the available-backups table. Read-only.",
        "operationId": "list",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "example": "list",
                      "type": "string"
                    },
                    "module": {
                      "example": "BackupInfo",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "name": {
                                "description": "The archive file name (basename only; never an absolute path).",
                                "example": "backup-11.128.0.6_2026-06-23_user.tar.gz",
                                "type": "string"
                              },
                              "fullpath": {
                                "description": "The home-relative file name (basename; safe to echo). Never an absolute path.",
                                "example": "backup-11.128.0.6_2026-06-23_user.tar.gz",
                                "type": "string"
                              },
                              "mtime": {
                                "description": "Archive modification time, epoch seconds.",
                                "example": 1750636800,
                                "type": "integer"
                              },
                              "sizeBytes": {
                                "description": "Size of the .tar.gz archive in bytes.",
                                "example": 524288000,
                                "type": "integer"
                              },
                              "status": {
                                "description": "Archive status derived from the marker file. 'ready' (marker absent), 'inprogress' (marker present, within timeout), or 'timeout' (marker present, stalled past the timeout threshold).",
                                "enum": [
                                  "ready",
                                  "inprogress",
                                  "timeout"
                                ],
                                "example": "ready",
                                "type": "string"
                              },
                              "startedAtEpoch": {
                                "description": "Start epoch read from the marker file while a run is active. Null when not running.",
                                "example": 1750636800,
                                "nullable": true,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "messages": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "status": {
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "List the current user's full-account backups",
        "tags": [
          "BackupInfo"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BackupInfo \\\n  list\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BackupInfo/list"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 136,
        "x-cpanel-plugin": "BackupInfo"
      }
    },
    "/BackupInfo/progress": {
      "get": {
        "description": "Returns telemetry for a full-account backup. When the PkgAcct::Create hook is installed it anchors the run's start and finish; 'complete' is reported only once the published archive is confirmed in the homedir (returning its exact final size), so a run that never publishes an archive is never reported complete. Otherwise it falls back to the on-disk marker. While running, estimatedPercent is an ESTIMATE (the final archive is gzipped, so the byte total is multiplied by a heuristic compression factor) clamped to 99. Degrades to zeros when nothing is running or when quota data is unavailable. Read-only and safe to poll.",
        "operationId": "progress",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "example": "progress",
                      "type": "string"
                    },
                    "module": {
                      "example": "BackupInfo",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "state": {
                              "description": "Current run state. 'inprogress' or 'timeout' while a run is active or finalizing, 'complete' once the published archive is confirmed in the homedir, or 'none' when nothing is running. A confirmed hook 'complete' is sticky - it persists across polls until a new run starts or the reset endpoint is called.",
                              "enum": [
                                "inprogress",
                                "timeout",
                                "complete",
                                "none"
                              ],
                              "example": "inprogress",
                              "type": "string"
                            },
                            "stateSource": {
                              "description": "Origin of 'state'. 'hook' is the authoritative PkgAcct::Create record (definitive start/finish); 'marker' is the estimated, marker-derived fallback; 'none' when nothing is running.",
                              "enum": [
                                "hook",
                                "marker",
                                "none"
                              ],
                              "example": "hook",
                              "type": "string"
                            },
                            "startedAtEpoch": {
                              "description": "Start epoch (hook record when available, otherwise the marker file). Null when not running.",
                              "example": 1750636800,
                              "nullable": true,
                              "type": "integer"
                            },
                            "finishedAtEpoch": {
                              "description": "Finish epoch. Set only on a confirmed hook 'complete' (published archive present); null otherwise.",
                              "example": 1750640400,
                              "nullable": true,
                              "type": "integer"
                            },
                            "elapsedSeconds": {
                              "description": "Seconds since the run started. 0 when not running.",
                              "example": 42,
                              "type": "integer"
                            },
                            "currentBytes": {
                              "description": "Current size in bytes of the growing .tar.gz archive.",
                              "example": 104857600,
                              "type": "integer"
                            },
                            "estimatedTotalBytes": {
                              "description": "Estimated final archive size in bytes, (homedir + DB + mailman bytes) multiplied by the gzip compression factor. 0 when quota data is unavailable.",
                              "example": 314572800,
                              "type": "integer"
                            },
                            "estimatedPercent": {
                              "description": "Completion percent (0-100). An ESTIMATE while running (clamped to 99; the UI must label it \"estimated\"); an exact 100 only on a confirmed 'complete' (published archive present).",
                              "example": 33.3,
                              "type": "number"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "messages": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "status": {
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Get progress for the current user's running full-account backup",
        "tags": [
          "BackupInfo"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BackupInfo \\\n  progress\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BackupInfo/progress"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 136,
        "x-cpanel-plugin": "BackupInfo"
      }
    },
    "/BackupInfo/reset": {
      "get": {
        "description": "Clears the authoritative run-state record so a sticky 'complete' stops being reported by progress. After reset, progress reflects only live state ('inprogress' while a run is genuinely active, otherwise 'none'). Idempotent - succeeds whether or not a record exists.",
        "operationId": "reset",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "example": "reset",
                      "type": "string"
                    },
                    "module": {
                      "example": "BackupInfo",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "cleared": {
                              "description": "Always true on success.",
                              "example": true,
                              "type": "boolean"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "messages": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "status": {
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Clear the current user's backup run-state record",
        "tags": [
          "BackupInfo"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BackupInfo \\\n  reset\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BackupInfo/reset"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 136,
        "x-cpanel-plugin": "BackupInfo"
      }
    },
    "/Bandwidth/get_enabled_protocols": {
      "get": {
        "x-readonly": true,
        "description": "This function returns a list of the server's enabled protocols.",
        "operationId": "Bandwidth-get_enabled_protocols",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_enabled_protocols",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Bandwidth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The bandwidth protocols that the server records.\n* `ftp`\n* `imap`\n* `pop3`\n* `smtp`\n* `http` — This value includes all web traffic for the 80 and 443 ports.",
                          "items": {
                            "enum": [
                              "ftp",
                              "http",
                              "imap",
                              "pop3",
                              "smtp"
                            ],
                            "example": "imap",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return services monitored in bandwidth data",
        "tags": [
          "Bandwidth"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Bandwidth \\\n  get_enabled_protocols\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Bandwidth/get_enabled_protocols"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Bandwidth_get_enabled_protocols.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Bandwidth_get_enabled_protocols.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Bandwidth/,\n    q/get_enabled_protocols/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Bandwidth_get_enabled_protocols.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Bandwidth_get_enabled_protocols.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Bandwidth',\n    'get_enabled_protocols'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 76"
      }
    },
    "/Bandwidth/get_retention_periods": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the retention periods for bandwidth data.",
        "operationId": "Bandwidth-get_retention_periods",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_retention_periods",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Bandwidth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "interval": {
                                "description": "The interval in which the system reports bandwidth data.\n- `daily`\n- `hourly`\n- `5min`",
                                "enum": [
                                  "daily",
                                  "hourly",
                                  "5min"
                                ],
                                "example": "5min",
                                "type": "string"
                              },
                              "retention": {
                                "description": "The retention period for bandwidth data.",
                                "example": 2678400,
                                "format": "unix_timestamp",
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return bandwidth retention period",
        "tags": [
          "Bandwidth"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Bandwidth \\\n  get_retention_periods\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Bandwidth/get_retention_periods"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Bandwidth_get_retention_periods.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Bandwidth_get_retention_periods.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Bandwidth/,\n    q/get_retention_periods/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Bandwidth_get_retention_periods.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Bandwidth_get_retention_periods.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Bandwidth',\n    'get_retention_periods'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/Bandwidth/query": {
      "get": {
        "x-readonly": true,
        "description": "This function queries an account's bandwidth data and returns a report.\n\n**Note:**\n\nThis function also returns the bandwidth use of a [distributed cPanel account](https://go.cpanel.net/cPanelGlossary#distributed-cpanel-account).",
        "operationId": "Bandwidth-query",
        "parameters": [
          {
            "description": "How to group the data in the report, in pipe-separated format. This list **must** contain one or both of the following parameters:\n\nA pipe-separated list that contains one or both of the following parameters:\n* `domain`\n* `protocol`\n\nThis parameter can also include only **one** of the following start time interval types:\n* `year`\n* `year_month`\n* `year_month_day`\n* `year_month_day_hour`\n* `year_month_day_mour_minute`\n\n**Note:**\n\n* This parameter accepts a maximum of three values.\n* The function nests the return objects in the order that you declare the values in this parameter.",
            "examples": {
              "domain_protocol_year": {
                "summary": "domain|protocol|year",
                "value": "grouping=domain|protocol|year"
              },
              "domain_year": {
                "summary": "domain|year",
                "value": "grouping=domain|year"
              },
              "protocol_year_month": {
                "summary": "protocol|year_month",
                "value": "grouping=protocol|year_month"
              },
              "year_month_day": {
                "summary": "year_month_day",
                "value": "grouping=year_month_day"
              }
            },
            "explode": false,
            "in": "query",
            "name": "grouping",
            "required": true,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "domain",
                    "protocol"
                  ],
                  "type": "string"
                },
                {
                  "enum": [
                    "year",
                    "year_month",
                    "year_month_day",
                    "year_month_day_hour",
                    "year_month_day_hour_minute"
                  ],
                  "type": "string"
                }
              ]
            },
            "style": "pipeDelimited"
          },
          {
            "description": "A pipe-separated list of domains for which to provided data.\n\n**Note:**\n\n* If you do not include this parameter, the function will return data for all domains on the cPanel account.\n* The `UNKNOWN` \"pseudo-domain\" refers to data recorded without a specific domain. All traffic except HTTP traffic\nis recorded without a specific domain.",
            "examples": {
              "multiple": {
                "summary": "Get data for multiple domains and UNKNOWN.",
                "value": "domains=example.com|subdomain.example.com|subdomain2.example.com|parkedexample.com|UNKNOWN"
              },
              "single": {
                "summary": "Get data for a specific domain.",
                "value": "example.com"
              }
            },
            "explode": false,
            "in": "query",
            "name": "domains",
            "required": false,
            "schema": {
              "format": "domain",
              "type": "string"
            },
            "style": "pipeDelimited"
          },
          {
            "description": "The end date of the report window.",
            "in": "query",
            "name": "end",
            "required": false,
            "schema": {
              "example": 1446664809,
              "format": "unix_timestamp",
              "type": "integer"
            }
          },
          {
            "description": "Length of time between bandwidth data samples.\n\n* `daily`\n* `hourly`\n* `5min`\n\n**Note:**\n\nThe interval's retention period determines availability of the interval's data.\nUse the `Bandwidth::get_retention_periods` API to determine an interval's retention period.",
            "in": "query",
            "name": "interval",
            "required": false,
            "schema": {
              "default": "daily",
              "enum": [
                "daily",
                "hourly",
                "5min"
              ],
              "example": "daily",
              "type": "string"
            }
          },
          {
            "description": "A pipe-separated list of the protocols for which to provide data.\n* `http`\n* `imap`\n* `smtp`\n* `pop3`\n* `ftp`",
            "examples": {
              "multiple": {
                "summary": "Get data for multiple protocols.",
                "value": "protocols=http|imap|smtp|pop3|ftp"
              },
              "single": {
                "summary": "Get data for a specific protocol.",
                "value": "http"
              }
            },
            "explode": false,
            "in": "query",
            "name": "protocols",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "pipeDelimited"
          },
          {
            "description": "The start date of the report window.",
            "in": "query",
            "name": "start",
            "required": false,
            "schema": {
              "example": 1445664609,
              "format": "unix_timestamp",
              "type": "integer"
            }
          },
          {
            "description": "The timezone in which to report the data.",
            "in": "query",
            "name": "timezone",
            "required": false,
            "schema": {
              "example": "America/Chicago",
              "format": "olson_timezone_name",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "domain": {
                    "description": "grouping=domain",
                    "value": {
                      "data": {
                        "UNKNOWN": 70447164,
                        "example.com": 815258916235,
                        "parkedexample.com": 18861122614,
                        "subdomain.example.com": 11407,
                        "subdomain2.example.com": 683533
                      },
                      "errors": null,
                      "messages": null,
                      "metadata": {},
                      "status": 1
                    }
                  },
                  "domain_protocol_year": {
                    "description": "grouping=domain|protocol|year",
                    "value": {
                      "data": {
                        "UNKNOWN": {
                          "imap": {
                            "1325376000": 11036.0461226852,
                            "1356998400": 14892,
                            "1388534400": 5148,
                            "1420070400": 39745
                          },
                          "smtp": {
                            "1325376000": 155605,
                            "1356998400": 2525944.05255787,
                            "1388534400": 37310742,
                            "1420070400": 30384052
                          }
                        },
                        "example.com": {
                          "http": {
                            "1325376000": 11700672006,
                            "1356998400": 252262219725,
                            "1388534400": 330435334428,
                            "1420070400": 220860690076
                          }
                        },
                        "parkedexample.com": {
                          "http": {
                            "1356998400": 1214392,
                            "1420070400": 18859908222
                          }
                        },
                        "subdomain.example.com": {
                          "http": {
                            "1388534400": 10227,
                            "1420070400": 1180
                          }
                        },
                        "subdomain2.example.com": {
                          "http": {
                            "1420070400": 683533
                          }
                        }
                      },
                      "errors": null,
                      "messages": null,
                      "metadata": {},
                      "status": 1
                    }
                  },
                  "domain_year": {
                    "description": "grouping=domain|year",
                    "value": {
                      "data": {
                        "UNKNOWN": {
                          "1325376000": 141799,
                          "1356998400": 52558,
                          "1388534400": 56450,
                          "1420070400": 3737236
                        },
                        "example.com": {
                          "1325376000": 27496678808,
                          "1356998400": 16961550301,
                          "1388534400": 17664354048,
                          "1420070400": 26169989838
                        },
                        "parkedexample.com": {
                          "1325376000": 2474092283,
                          "1356998400": 1214392,
                          "1388534400": 1514221571,
                          "1420070400": 14871594368
                        },
                        "subdomain.example.com": {
                          "1356998400": 1180,
                          "1388534400": 5708,
                          "1420070400": 4519
                        },
                        "subdomain2.example.com": {
                          "1420070400": 683533
                        }
                      },
                      "errors": null,
                      "messages": null,
                      "metadata": {},
                      "status": 1
                    }
                  },
                  "year_domain": {
                    "description": "grouping=year|domain",
                    "value": {
                      "data": {
                        "1325376000": {
                          "UNKNOWN": 70447164,
                          "example.com": 815258916235,
                          "parkedexample.com": 18861122614,
                          "subdomain.example.com": 11407,
                          "subdomain2.example.com": 683533
                        },
                        "1356998400": {
                          "UNKNOWN": 70447164,
                          "example.com": 815258916235,
                          "parkedexample.com": 18861122614,
                          "subdomain.example.com": 11407,
                          "subdomain2.example.com": 683533
                        },
                        "1388534400": {
                          "UNKNOWN": 70447164,
                          "example.com": 815258916235,
                          "parkedexample.com": 18861122614,
                          "subdomain.example.com": 11407,
                          "subdomain2.example.com": 683533
                        },
                        "1420070400": {
                          "UNKNOWN": 70447164,
                          "example.com": 815258916235,
                          "parkedexample.com": 18861122614,
                          "subdomain.example.com": 11407,
                          "subdomain2.example.com": 683533
                        }
                      },
                      "errors": null,
                      "messages": null,
                      "metadata": {},
                      "status": 1
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "query",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Bandwidth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "additionalProperties": {
                            "additionalProperties": {
                              "additionalProperties": {
                                "description": "This object's keys are the values of the third grouping parameter.",
                                "nullable": true,
                                "type": "object",
                                "x-additionalPropertiesName": "grouping-param-value-3"
                              },
                              "description": "This object's keys are the values of the second grouping parameter.",
                              "nullable": true,
                              "type": "object",
                              "x-additionalPropertiesName": "grouping-param-value-2"
                            },
                            "description": "This object's keys are the values of the first grouping parameter.",
                            "type": "object",
                            "x-additionalPropertiesName": "grouping-param-value-1"
                          },
                          "description": "The function returns data in a hierarchy of objects that the order of values in the `grouping` parameter determines.\n\nFor example:\n\n* `domain` - Returns data by domain.\n* `domain|protocol` - Returns data by protocol and nests it within the object for each domain.\n* `domain|year` - Returns data by year and nests it within the object for each domain.\n* `year|domain` - Returns data by domain and nests it within object for each year.\n* `domain|year|protocol` - Returns data by protocol and nests it within object for each year, which the result then nests in objects for each domain.\n\nThe deepest child object contains the bandwidth data in bytes.\n",
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "additionalProperties": {
                            "nullable": true,
                            "type": "object"
                          },
                          "description": "An object containing any additional data returned by the API."
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's bandwidth usage report",
        "tags": [
          "Bandwidth"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Bandwidth \\\n  query \\\n  grouping='domain|protocol|year'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Bandwidth/query?grouping=grouping%3ddomain%7cprotocol%7cyear"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Bandwidth_query.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Bandwidth_query.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Bandwidth/,\n    q/query/,\n    {\n        'grouping' => 'grouping=domain|protocol|year',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Bandwidth_query.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Bandwidth_query.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Bandwidth',\n    'query',\n    array (\n        'grouping' => 'grouping=domain|protocol|year',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/Batch/strict": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function combines calls for multiple UAPI functions and performs them in order.\n\n**Note:**\n\n* If a function call in the list fails, the `Batch::strict` function does not run further function calls in the list.\n* Due to the potential length of calls of this function, we recommend that you use the HTTP POST method for extremely long batch commands.",
        "operationId": "Batch-strict",
        "parameters": [
          {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Call multiple UAPI functions.",
                    "value": [
                      "command=[\"PasswdStrength\",\"get_required_strength\",{\"app\":\"webdisk\"}]",
                      "command=[\"SSH\",\"get_port\"]"
                    ]
                  },
                  "multiple_indexed": {
                    "summary": "Call multiple UAPI functions using indexed parameters.",
                    "value": [
                      "command-0=[\"PasswdStrength\",\"get_required_strength\",{\"app\":\"webdisk\"}]",
                      "command-1=[\"SSH\",\"get_port\"]"
                    ]
                  }
                },
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "additionalProperties": true,
                        "type": "object"
                      }
                    ]
                  },
                  "maxItems": 3,
                  "minItems": 2,
                  "type": "array"
                }
              }
            },
            "description": "A UAPI function call, encoded as a JSON array with two or three items:\n\n* The UAPI module.\n* The UAPI function.\n* A JSON object containing the parameters to pass to this function. You can omit this value if you do not pass any parameters to the function.\n\nTo submit multiple commands, duplicate the parameter name, or index all parameter names and increment the index for each one.\n\n* When using the cPanel LiveAPI PHP Library, you **must** increment the parameter name when you submit the arguments in an associative array. For example: use `command-0`, `command-1`, and `command-2`.\n* When using the cPanel LiveAPI Perl Library, you **must** increment the parameter name when you submit the arguments in a hash. For example: use `command-0`, `command-1`, and `command-2`.\n* You do **not** need to add an index to `command` parameters for query string calls of this function.",
            "in": "query",
            "name": "command",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "strict",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Batch",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that contain function output. Each object contains the output data and metadata from one of the `command` parameter's functions.\n\nFor more information about UAPI return data and metadata, read our [UAPI - Return Data](https://go.cpanel.net/UAPIReturnData) documentation.",
                          "example": [
                            {
                              "data": {
                                "strength": 65
                              },
                              "errors": null,
                              "messages": null,
                              "metadata": {},
                              "status": 1,
                              "warnings": null
                            },
                            {
                              "data": {
                                "port": 22
                              },
                              "errors": null,
                              "messages": null,
                              "metadata": {},
                              "status": 1,
                              "warnings": null
                            }
                          ],
                          "items": {
                            "properties": {
                              "data": {
                                "additionalProperties": true,
                                "description": "The data returned by an individual UAPI call invoked through this `Batch::strict` call.",
                                "type": "object"
                              },
                              "errors": {
                                "description": "List of errors if the API failed.",
                                "example": null,
                                "items": {
                                  "type": "string"
                                },
                                "nullable": true,
                                "type": "array"
                              },
                              "messages": {
                                "description": "List of messages generated by the API.",
                                "example": null,
                                "items": {
                                  "type": "string"
                                },
                                "nullable": true,
                                "type": "array"
                              },
                              "metadata": {
                                "properties": {
                                  "transformed": {
                                    "description": "Post-processing may have transformed the data.",
                                    "enum": [
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  }
                                }
                              },
                              "status": {
                                "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "warnings": {
                                "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                                "example": null,
                                "items": {
                                  "type": "string"
                                },
                                "nullable": true,
                                "type": "array"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Run multiple UAPI functions in order",
        "tags": [
          "Batch"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty --user=username Batch strict command-0='[ \"PasswdStrength\", \"get_required_strength\", { \"app\": \"webdisk\"} ]' command-1='[\"SSH\",\"get_port\"]'"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Batch/strict?command-0=%5b%20%22PasswdStrength%22%2c%20%22get_required_strength%22%2c%20%7b%20%22app%22%3a%20%22webdisk%22%7d%20%5d&command-1=%5B%22SSH%22%2C%22get_port%22%5D"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Batch_strict.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Batch_strict.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Batch/,\n    q/strict/,\n    {\n        'command-0' => '[ \"PasswdStrength\", \"get_required_strength\", { \"app\": \"webdisk\"} ]',\n        'command-1' => '[\"SSH\",\"get_port\"]',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Batch_strict.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Batch_strict.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Batch',\n    'strict',\n    array (\n        'command-0' => '[ \"PasswdStrength\", \"get_required_strength\", { \"app\": \"webdisk\"} ]',\n        'command-1' => '[\"SSH\",\"get_port\"]',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/BlockIP/add_ip": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function blocks IP addresses from accessing the domains on a cPanel account.\n\n**Important**\n\nWhen you disable the Web Server role, the system disables this function.",
        "operationId": "BlockIP-add_ip",
        "parameters": [
          {
            "description": "The IP address or IP address range that you wish to block.",
            "examples": {
              "cidr-ipv4": {
                "summary": "CIDR Format IPv4",
                "value": "192.168.0.1/16"
              },
              "cidr-ipv6": {
                "summary": "CIDR Format IPv6",
                "value": "2001:db8::/32"
              },
              "hostname": {
                "summary": "Add by resolving hostname",
                "value": "example.com"
              },
              "implied-range": {
                "summary": "Implied Range",
                "value": "192.168.0.1-58"
              },
              "ipv4-range": {
                "summary": "IPv4 Range",
                "value": "192.168.0.1-192.168.0.58"
              },
              "ipv6-range": {
                "summary": "IPv6 Range",
                "value": "2001:db8::1-2001:db8::3"
              },
              "single-ipv4": {
                "summary": "Single IPv4 Address",
                "value": "192.0.2.0"
              },
              "single-ipv6": {
                "summary": "Single IPv6 Address",
                "value": "2001:db8::1"
              },
              "subnet-octet": {
                "summary": "Subnet Range - Matches 10.*.*.*",
                "value": "10."
              }
            },
            "in": "query",
            "name": "ip",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_ip",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BlockIP",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "IP addresses that were added, as translated by the system.",
                          "items": {
                            "example": "1.1.1.1",
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add IP address to cPanel account's block list",
        "tags": [
          "BlockIP",
          "Block IP"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BlockIP \\\n  add_ip \\\n  ip='192.168.0.1/16'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BlockIP/add_ip?ip=192.168.0.1%2f16"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BlockIP_add_ip.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BlockIP_add_ip.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BlockIP/,\n    q/add_ip/,\n    {\n        'ip' => '192.168.0.1/16',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BlockIP_add_ip.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BlockIP_add_ip.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BlockIP',\n    'add_ip',\n    array (\n        'ip' => '192.168.0.1/16',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 82
      }
    },
    "/BlockIP/remove_ip": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function unblocks IP addresses from accessing domains on a cPanel account.\n\n**Important**\n\nWhen you disable the Web Server role, the system disables this function.",
        "operationId": "BlockIP-remove_ip",
        "parameters": [
          {
            "description": "The IP address or IP address range that you wish to unblock.",
            "examples": {
              "cidr-ipv4": {
                "summary": "CIDR Format IPv4",
                "value": "192.168.0.1/16"
              },
              "cidr-ipv6": {
                "summary": "CIDR Format IPv6",
                "value": "2001:db8::/32"
              },
              "hostname": {
                "summary": "Add by resolving hostname",
                "value": "example.com"
              },
              "implied-range": {
                "summary": "Implied Range",
                "value": "192.168.0.1-58"
              },
              "ipv4-range": {
                "summary": "IPv4 Range",
                "value": "192.168.0.1-192.168.0.58"
              },
              "ipv6-range": {
                "summary": "IPv6 Range",
                "value": "2001:db8::1-2001:db8::3"
              },
              "single-ipv4": {
                "summary": "Single IPv4 Address",
                "value": "192.0.2.0"
              },
              "single-ipv6": {
                "summary": "Single IPv6 Address",
                "value": "2001:db8::1"
              },
              "subnet-octet": {
                "summary": "Subnet Range - Matches 10.*.*.*",
                "value": "10."
              }
            },
            "in": "query",
            "name": "ip",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "remove_ip",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BlockIP",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The IP addresses that the function removed, and the system translated.",
                          "items": {
                            "example": "1.1.1.1",
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove IP address from cPanel account's block list",
        "tags": [
          "BlockIP",
          "Block IP"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BlockIP \\\n  remove_ip \\\n  ip='192.168.0.1/16'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BlockIP/remove_ip?ip=192.168.0.1%2f16"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BlockIP_remove_ip.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BlockIP_remove_ip.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BlockIP/,\n    q/remove_ip/,\n    {\n        'ip' => '192.168.0.1/16',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BlockIP_remove_ip.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BlockIP_remove_ip.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BlockIP',\n    'remove_ip',\n    array (\n        'ip' => '192.168.0.1/16',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 82
      }
    },
    "/BoxTrapper/blacklist_messages": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function blacklists email message senders.\n\n**Important:**\n\n  When you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system disables this function.",
        "operationId": "BoxTrapper-blacklist_messages",
        "parameters": [
          {
            "description": "The email address for which to blacklist messages.\n\n**Warning:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated user.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The filename of the email message to blacklist.",
            "examples": {
              "multiple": {
                "summary": "Blacklist multiple filenames.",
                "value": "queuefile=file1&queuefile=file2"
              },
              "single": {
                "summary": "Blacklist one filename.",
                "value": "file1"
              }
            },
            "in": "query",
            "name": "queuefile",
            "required": true,
            "schema": {
              "example": "example.msg",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "blacklist_messages",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects of blacklisted email information.",
                          "items": {
                            "properties": {
                              "email": {
                                "description": "The email address that sent the blacklisted message.",
                                "example": "user@example.com",
                                "format": "email",
                                "type": "string"
                              },
                              "failed": {
                                "description": "Whether the system failed to blacklist the message.\n\n**Note:**\n\n The function only returns this value if it doesn't blacklist the message.",
                                "enum": [
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "matches": {
                                "description": "An array of messages that the system deleted.",
                                "items": {
                                  "example": "example.msg",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "operator": {
                                "description": "The action that the function performed.",
                                "enum": [
                                  "blacklist"
                                ],
                                "example": "blacklist",
                                "type": "string"
                              },
                              "reason": {
                                "description": "A message about the failure or the warning.\n\n**Note:**\n\n The function only returns this value if it doesn't delete the message or experiences issues when it deletes the message.",
                                "example": "This is a failure message.",
                                "type": "string"
                              },
                              "warning": {
                                "description": "Whether the system experienced issues when it blacklisted the message.\n\n**Note:**\n\n The function only returns this value if it doesn't blacklist the message.",
                                "enum": [
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add email address to BoxTrapper blocked senders",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  blacklist_messages \\\n  email='user@example.com' \\\n  queuefile='file1'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/blacklist_messages?email=user%40example.com&queuefile=file1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_blacklist_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_blacklist_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/blacklist_messages/,\n    {\n        'email' => 'user@example.com',\n        'queuefile' => 'file1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_blacklist_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_blacklist_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'blacklist_messages',\n    array (\n        'email' => 'user@example.com',\n        'queuefile' => 'file1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/BoxTrapper/delete_messages": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes messages in the BoxTrapper queue.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system disables this function.",
        "operationId": "BoxTrapper-delete_messages",
        "parameters": [
          {
            "description": "The account's email address.\n\n**Warning:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The filename of the email message who's sender to delete.\n\n  **Warning:**\n\n To delete multiple email message senders, duplicate the parameter name.",
            "examples": {
              "multiple": {
                "summary": "Delete multiple filenames.",
                "value": "queuefile=file1.msg&queuefile=file2.msg"
              },
              "single": {
                "summary": "Delete a single filename.",
                "value": "file1.msg"
              }
            },
            "in": "query",
            "name": "queuefile",
            "required": true,
            "schema": {
              "example": "example.msg",
              "type": "string"
            }
          },
          {
            "description": "Whether to delete all messages that resemble the `queuefile` parameter's value.\n\n* `1` - Delete all messages resembling the `queuefile` parameter.\n* `0` - Do **not** delete all messages resembling the `queuefile` parameter.",
            "in": "query",
            "name": "all_like",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                1,
                0
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_messages",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that contain information about the messages that matched the requested pattern.",
                          "items": {
                            "properties": {
                              "email": {
                                "description": "The deleted email message's sender.",
                                "example": "user@example.com",
                                "format": "email",
                                "type": "string"
                              },
                              "failed": {
                                "description": "Whether the system failed to delete the messages.\n\n**Note:**\n\nThe function only returns this value if it doesn't delete the message.",
                                "enum": [
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "matches": {
                                "description": "An array of messages that the system deleted.",
                                "items": {
                                  "example": "example.msg",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "operator": {
                                "description": "The operation that the system performed.",
                                "enum": [
                                  "delete"
                                ],
                                "example": "delete",
                                "type": "string"
                              },
                              "reason": {
                                "description": "A message about the failure or the warning.\n\n**Note:**\n\nThe function only returns this value if it doesn't delete the message or experiences issues when it deletes the message.",
                                "example": "(XID d9myfd) The system failed to locate the requested message:",
                                "type": "string"
                              },
                              "warning": {
                                "description": "Whether the system experienced issues when it deleted the message.\n\n**Note:**\n\nThe function only returns this value if it experiences issues when it deletes the message.",
                                "enum": [
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete messages in the BoxTrapper queue",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  delete_messages \\\n  email='user@example.com' \\\n  queuefile='file1.msg'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/delete_messages?email=user%40example.com&queuefile=file1.msg"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_delete_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_delete_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/delete_messages/,\n    {\n        'email' => 'user@example.com',\n        'queuefile' => 'file1.msg',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_delete_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_delete_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'delete_messages',\n    array (\n        'email' => 'user@example.com',\n        'queuefile' => 'file1.msg',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/BoxTrapper/deliver_messages": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function delivers messages in the BoxTrapper queue.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles),\nthe system **disables** this function.",
        "operationId": "BoxTrapper-deliver_messages",
        "parameters": [
          {
            "description": "The sender's cPanel account email address for which to deliver email messages.\n\n**Warning:**\n\nIf you call this function in Webmail, the system ignores this parameter\nand defaults to the currently-authenticated email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The filename of the email messages to deliver.\n\n**Note:**\n\nTo deliver multiple email messages, pass this parameter multiple times.",
            "examples": {
              "multiple": {
                "summary": "Deliver multiple email messages.",
                "value": "queuefile=example.msg&queuefile=example1.msg&queuefile=example2.msg"
              },
              "single": {
                "summary": "Deliver a single email message.",
                "value": "example.msg"
              }
            },
            "in": "query",
            "name": "queuefile",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Whether to deliver all messages that resemble the `queuefile` parameter's value.\n\n* `1` - Deliver all similar messages.\n* `0` - Don't deliver all similar messages.",
            "in": "query",
            "name": "all_like",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "deliver_messages",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The delivered email message information.",
                          "items": {
                            "properties": {
                              "email": {
                                "description": "The delivered email message's sender.",
                                "example": "user@example.com",
                                "format": "email",
                                "type": "string"
                              },
                              "failed": {
                                "description": "Whether the system could not deliver the message.\n\n**Note:**\n\n * The function only returns this value if it doesn't deliver the message.\n * `1` is the only possible value.",
                                "enum": [
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "matches": {
                                "description": "A list of delivered email messages.",
                                "items": {
                                  "example": "example.msg",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "operator": {
                                "description": "The action that the function performed.\n\n* `deliver`\n* `deliverall`",
                                "enum": [
                                  "deliver",
                                  "deliverall"
                                ],
                                "example": "deliverall",
                                "type": "string"
                              },
                              "reason": {
                                "description": "A message about the failure or the warning.\n\n**Note:**\n\nThe function only returns this value if it doesn't delete the message or experiences\nissues when it deletes the message.",
                                "example": "This is a failure message.",
                                "type": "string"
                              },
                              "warning": {
                                "description": "Whether the system experienced issues when it delivered the message.\n\n**Note:**\n\n * The function only returns this value if it experiences issues when it delivers the message.\n * `1` is the only possible value.",
                                "enum": [
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Send messages in the BoxTrapper queue",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  deliver_messages \\\n  email='user@example.com' \\\n  queuefile='example.msg'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/deliver_messages?email=user%40example.com&queuefile=example.msg"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_deliver_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_deliver_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/deliver_messages/,\n    {\n        'email' => 'user@example.com',\n        'queuefile' => 'example.msg',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_deliver_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_deliver_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'deliver_messages',\n    array (\n        'email' => 'user@example.com',\n        'queuefile' => 'example.msg',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/BoxTrapper/get_allowlist": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves a list of BoxTrapper allowlist configuration rules. BoxTrapper will deliver emails that match these rules.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://go.cpanel.net/serverroles),\nthe system **disables** this function.",
        "operationId": "BoxTrapper-get_allowlist",
        "parameters": [
          {
            "description": "A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_allowlist",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The allowlist configuration rules.",
                          "items": {
                            "description": "One allowlist rule.",
                            "example": "from allowlisted-email\\@domain\\.com",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return account BoxTrapper allowlist rules",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_allowlist \\\n  email='user@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_allowlist?email=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_allowlist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_allowlist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_allowlist/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_allowlist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_allowlist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_allowlist',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 94"
      }
    },
    "/BoxTrapper/get_blocklist": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves a list of BoxTrapper blocklist configuration rules. BoxTrapper will delete messages that match these rules and send a notification to the sender.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://go.cpanel.net/serverroles),\nthe system **disables** this function.",
        "operationId": "BoxTrapper-get_blocklist",
        "parameters": [
          {
            "description": "A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_blocklist",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The blocklist configuration rules.",
                          "items": {
                            "description": "One blocklist rule.",
                            "example": "from blocklisted-email\\@domain\\.com",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return account BoxTrapper blocklist rules",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_blocklist \\\n  email='user@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_blocklist?email=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_blocklist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_blocklist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_blocklist/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_blocklist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_blocklist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_blocklist',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 94"
      }
    },
    "/BoxTrapper/get_configuration": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves an account's BoxTrapper configuration.\n\n**Important:**\n\n  When you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system disables this function.",
        "operationId": "BoxTrapper-get_configuration",
        "parameters": [
          {
            "description": "The account's email address.\n\n**Warning:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_configuration",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "enable_auto_whitelist": {
                              "description": "Whether whitelisting is enabled.\n* 1 - Enabled.\n* 0 - Disabled.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "from_addresses": {
                              "description": "The email addresses that send emails from the account. A comma-separated list of email addresses.",
                              "example": "user@example.com,user2@example.com",
                              "type": "string"
                            },
                            "from_name": {
                              "description": "The name of the person who owns the email account.",
                              "example": "User",
                              "type": "string"
                            },
                            "queue_days": {
                              "description": "The number of days that the system retains log files and queued messages.",
                              "example": 14,
                              "minimum": 0,
                              "type": "integer"
                            },
                            "spam_score": {
                              "description": "The account's [Apache SpamAssassin](https://go.cpanel.net/cpaneldocsSpamFilters) threshold score.",
                              "example": 2.5,
                              "type": "number"
                            },
                            "whitelist_by_association": {
                              "description": "Whether the system whitelisted the email addresses in a message's `To` and `From` sections, including carbon-copied (CC) recipients.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account's BoxTrapper configuration",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_configuration \\\n  email='user@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_configuration?email=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_configuration.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_configuration.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_configuration/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_configuration.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_configuration.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_configuration',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/BoxTrapper/get_email_template": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function retrieves a BoxTrapper email message template.\n\n**Important:**\n\n  When you disable the\n  [*Receive Mail* role](https://go.cpanel.net/serverroles),\n  the system **disables** this function.",
        "operationId": "BoxTrapper-get_email_template",
        "parameters": [
          {
            "description": "A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The message template.\n\n* `blacklist`\n* `returnverify`\n* `verifyreleased`\n* `verify`\n\n**Note:**\n\nFor more information on each template, read our\n[BoxTrapper](https://go.cpanel.net/cpaneldocsBoxTrapper) documentation.",
            "in": "query",
            "name": "template",
            "required": true,
            "schema": {
              "enum": [
                "blacklist",
                "returnverify",
                "verifyreleased",
                "verify"
              ],
              "example": "verify",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_email_template",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The template file's contents.",
                          "example": "To: %email%\\nSubject: Re: %subject%\\n\\nThe user %acct% does not accept mail from your address.\\n\\nThe headers of the message sent from your address are shown below:\\n\\n%headers%\\n\",",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return specified BoxTrapper email template",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_email_template \\\n  email='user@example.com' \\\n  template='verify'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_email_template?email=user%40example.com&template=verify"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_email_template.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_email_template.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_email_template/,\n    {\n        'email' => 'user@example.com',\n        'template' => 'verify',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_email_template.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_email_template.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_email_template',\n    array (\n        'email' => 'user@example.com',\n        'template' => 'verify',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/BoxTrapper/get_forwarders": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves a list of email addresses to which BoxTrapper forwards email messages.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "BoxTrapper-get_forwarders",
        "parameters": [
          {
            "description": "The account's email address.\n\n**Important:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_forwarders",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The email addresses to which BoxTrapper forwards email.",
                          "items": {
                            "example": "user1@example.com, user2@example.com, user3@example.com",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return all BoxTrapper forwarders",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_forwarders \\\n  email='user@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_forwarders?email=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_forwarders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_forwarders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_forwarders/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_forwarders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_forwarders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_forwarders',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 86"
      }
    },
    "/BoxTrapper/get_ignorelist": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves a list of BoxTrapper ignorelist configuration rules. BoxTrapper will delete messages that match these rules without sending a notification to the sender.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://go.cpanel.net/serverroles),\nthe system **disables** this function.",
        "operationId": "BoxTrapper-get_ignorelist",
        "parameters": [
          {
            "description": "A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_ignorelist",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The ignorelist configuration rules.",
                          "items": {
                            "description": "One ignorelist rule.",
                            "example": "from ignored-email\\@domain\\.com",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return account BoxTrapper ignorelist rules",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_ignorelist \\\n  email='user@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_ignorelist?email=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_ignorelist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_ignorelist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_ignorelist/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_ignorelist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_ignorelist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_ignorelist',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 94"
      }
    },
    "/BoxTrapper/get_log": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the account's BoxTrapper log file and its contents.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles), the system **disables** this function.",
        "operationId": "BoxTrapper-get_log",
        "parameters": [
          {
            "description": "The account's email address.\n\n**Important:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently authenticated email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The date for which to return the log file and its contents.\n\n**Note:**\n\nThis parameter defaults to the current date.",
            "in": "query",
            "name": "date",
            "required": false,
            "schema": {
              "example": 1556812881,
              "format": "unix_timestamp",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_log",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "date": {
                              "description": "The date for which the system returned the log.",
                              "example": 1556812881,
                              "format": "unix_timestamp",
                              "type": "integer"
                            },
                            "lines": {
                              "description": "An array of lines from the log file. If the log file doesn't exist or if no log lines exist in the file, the function returns an empty array.",
                              "items": {
                                "example": "Processing email with trusted transport method.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "path": {
                              "description": "The log file's filepath. If the log file doesn't exist, the function returns an empty string.",
                              "example": "/home/user/etc/example.com/user/boxtrapper/log/05-02-2019.log",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return BoxTrapper log file and contents",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_log \\\n  email='user@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_log?email=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_log.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_log.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_log/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_log.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_log.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_log',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/BoxTrapper/get_message": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the first 200 lines of an email in the BoxTrapper queue.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "BoxTrapper-get_message",
        "parameters": [
          {
            "description": "The account’s name, either an email address or the cPanel user’s username.\n\n**Important:**\n\n If you call this function in Webmail, the system ignores this parameter.",
            "example": "user@example.com",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "anyOf": [
                {
                  "example": "user@example.com",
                  "format": "email",
                  "type": "string"
                },
                {
                  "example": "exampleuser",
                  "format": "username",
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The message's filename.",
            "in": "query",
            "name": "queuefile",
            "required": true,
            "schema": {
              "example": "example.msg",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_message",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "content": {
                              "description": "The email message's contents. Up to the first 200 lines of an email message.",
                              "example": "From user@example.com Tue May 07 08:30:36 2019\nReceived: from user by example.com with local (Exim 4.92) (envelope-from <root@yourserver.net>)\n    id 1hO0B1-0003Ev-Md for user2@example.com; Tue, 07 May 2019 08:30:36 -0500\nFrom: user3@example.com\nSubject: Message\nMessage-Id: <E1hO0B1-0003Ev-Md@yourserver.net>\nDate: Tue, 07 May 2019 08:30:35 -0500\n\nThis is an email message",
                              "type": "string"
                            },
                            "contents": {},
                            "queuefile": {
                              "description": "The message's filename.",
                              "example": "example.msg",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return message's top 200 lines in BoxTrapper queue",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_message \\\n  email='user@example.com' \\\n  queuefile='example.msg'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_message?email=user%40example.com&queuefile=example.msg"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_message.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_message.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_message/,\n    {\n        'email' => 'user@example.com',\n        'queuefile' => 'example.msg',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_message.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_message.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_message',\n    array (\n        'email' => 'user@example.com',\n        'queuefile' => 'example.msg',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/BoxTrapper/get_status": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether BoxTrapper is enabled for an email account.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles), the system **disables** this function.",
        "operationId": "BoxTrapper-get_status",
        "parameters": [
          {
            "description": "The account's email address.\n\n**Important:**\n\nIf you call this function in Webmail, the system ignores this parameter.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_status",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether BoxTrapper is enabled for the email account.\n* `1` — Enabled.\n* `0` — Disabled.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether email account uses BoxTrapper",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  get_status \\\n  email='user@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/get_status?email=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_get_status.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_status.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/get_status/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_get_status.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_get_status.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'get_status',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/BoxTrapper/ignore_messages": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function marks email message senders for Exim to ignore.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "BoxTrapper-ignore_messages",
        "parameters": [
          {
            "description": "The cPanel email account from which to ignore messages.\n\n**Warning:** \n\nIf you call this function in Webmail, the system ignores this parameter and defaults\nto the currently-authenticated email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The filename of the email message to ignore.\n\n**Note:**\n\n To ignore multiple email messages, duplicate this parameter.",
            "examples": {
              "multiple": {
                "summary": "Ignore multiple email messages.",
                "value": "queuefile-1=example1.msg queuefile-2=example2.msg queuefile-3=example3.msg"
              },
              "single": {
                "summary": "Ignore a single email message.",
                "value": "example.msg"
              }
            },
            "in": "query",
            "name": "queuefile",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "ignore_messages",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing ignored email message information.",
                          "example": [
                            {
                              "email": "user@example.com",
                              "matches": [
                                "example.msg"
                              ],
                              "operator": "ignore"
                            }
                          ],
                          "items": {
                            "properties": {
                              "email": {
                                "description": "The ignored email message's sender.",
                                "example": "user@example.com",
                                "format": "email",
                                "type": "string"
                              },
                              "failed": {
                                "description": "Whether the system failed to ignore the messages.\n\n* `1` - Failed to ignore the message.\n\n* `1` - Failed to ignore the message.\n\n* `1` - Failed to ignore the message.\n\n* `1` - Failed to ignore the message.\n\n* `1` - Failed to ignore the message.\n\n**Note:**\n\n The function only returns this value if it experiences issues when it ignores the message.",
                                "enum": [
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "matches": {
                                "description": "An array containing ignored message files.",
                                "items": {
                                  "example": "example.msg",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "operator": {
                                "description": "The operation that the system performed.\n\n* `ignore` — The system ignored this email message.",
                                "enum": [
                                  "ignore"
                                ],
                                "example": "ignore",
                                "type": "string"
                              },
                              "reason": {
                                "description": "A message that describes the failure or the warning.\n\n**Note:**\n\n The function only returns this value if it doesn't ignore the message or experiences issues when it ignores the message. ",
                                "example": "This is a failure message.",
                                "type": "string"
                              },
                              "warning": {
                                "description": "Whether the system experienced issues when it ignored the message.\n\n* `1` — The system encountered a problem.\n\n**Note:**\n\n The function only returns this value if it experiences issues when it ignores the message.",
                                "enum": [
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add email account to Exim ignore list",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  ignore_messages \\\n  email='user@example.com' \\\n  queuefile='example.msg'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/ignore_messages?email=user%40example.com&queuefile=example.msg"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_ignore_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_ignore_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/ignore_messages/,\n    {\n        'email' => 'user@example.com',\n        'queuefile' => 'example.msg',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_ignore_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_ignore_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'ignore_messages',\n    array (\n        'email' => 'user@example.com',\n        'queuefile' => 'example.msg',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/BoxTrapper/list_email_templates": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the BoxTrapper email templates.\n\n**Important:**\n\nWhen you **disable** the [Receive Mail](https://go.cpanel.net/serverroles) role, the system disables this function.",
        "operationId": "BoxTrapper-list_email_templates",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_email_templates",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of strings representing BoxTrapper message templates.\n* `blacklist` - BoxTrapper responds with this message when a blacklisted address sends an email.\n* `verify` - BoxTrapper responds with this message when an address that does not exist on the whitelist or blacklist sends an email. This message requests a response to confirm that the sender is legitimate.\n* `verifyreleased` - BoxTrapper responds with this message when a person responds to the verify message with an email or a click on the verification link.\n* `returnverify` - BoxTrapper responds with this message when the verification process fails.",
                          "example": [
                            "blacklist",
                            "returnverify",
                            "verify",
                            "verifyreleased"
                          ],
                          "items": {
                            "enum": [
                              "blacklist",
                              "verify",
                              "verifyreleased",
                              "returnverify"
                            ],
                            "example": "verify",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return BoxTrapper email templates",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  list_email_templates\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/list_email_templates"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_list_email_templates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_list_email_templates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/list_email_templates/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_list_email_templates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_list_email_templates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'list_email_templates'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/BoxTrapper/list_queued_messages": {
      "get": {
        "x-readonly": true,
        "description": "This function returns a list of messages in the account's BoxTrapper queue.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables**\n  this function.",
        "operationId": "BoxTrapper-list_queued_messages",
        "parameters": [
          {
            "description": "The email account for which to retrieve queued messages.\n\n**Important:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently authenticated email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The date for which to return queued messages.",
            "in": "query",
            "name": "date",
            "required": false,
            "schema": {
              "example": 1556812881,
              "format": "unix_timestamp",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_queued_messages",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Information about each queued message.",
                          "items": {
                            "properties": {
                              "from": {
                                "description": "The sender's email address.",
                                "example": "user@example.com",
                                "format": "email",
                                "type": "string"
                              },
                              "queuefile": {
                                "description": "The message's unique ID.",
                                "example": "example.msg",
                                "type": "string"
                              },
                              "subject": {
                                "description": "The message's subject.",
                                "example": "Email Message Subject",
                                "type": "string"
                              },
                              "time": {
                                "description": "The message's creation time.",
                                "example": 1556812881,
                                "format": "unix_timestamp",
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account's BoxTrapper queued messages",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  list_queued_messages \\\n  email='user@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/list_queued_messages?email=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_list_queued_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_list_queued_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/list_queued_messages/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_list_queued_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_list_queued_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'list_queued_messages',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/BoxTrapper/process_messages": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function performs a specified action on messages in the BoxTrapper queue.\n\n**Important:**\n\nWhen you disable the [*Receive Mail*](https://go.cpanel.net/serverroles#roles) role, the system **disables** this function.",
        "operationId": "BoxTrapper-process_messages",
        "parameters": [
          {
            "description": "The action to perform on the email message file. To perform multiple actions on the specified email messages, pass this parameter multiple times.\n\n* `deliver` — Deliver a specific message.\n* `deliverall` — Deliver all messages from a sender.\n* `delete` — Delete a message.\n* `deleteall` — Delete all messages from a sender.\n* `blacklist` — Blacklist the sender of an email message.\n* `whitelist` — Whitelist the sender of an email message.\n* `ignore` — Ignore email messages from a sender.\n\n**Note:**\n\nThe function performs the actions on the email messages files in the order that you pass each action.",
            "examples": {
              "multiple": {
                "summary": "Perform multiple actions.",
                "value": "action=blacklist action=deleteall"
              },
              "single": {
                "summary": "Perform a single action.",
                "value": "blacklist"
              }
            },
            "in": "query",
            "name": "action",
            "required": true,
            "schema": {
              "enum": [
                "deliver",
                "deliverall",
                "delete",
                "deleteall",
                "blacklist",
                "whitelist",
                "ignore"
              ],
              "example": "blacklist",
              "type": "string"
            }
          },
          {
            "description": "The filename of the email message to process. To process multiple email messages, pass this parameter multiple times.",
            "examples": {
              "multiple": {
                "summary": "Process multiple email messages.",
                "value": "email=example.msg email=example1.msg email=example2.msg"
              },
              "single": {
                "summary": "Process a single email message.",
                "value": "example.msg"
              }
            },
            "in": "query",
            "name": "queuefile",
            "required": true,
            "schema": {
              "example": "example.msg",
              "type": "string"
            }
          },
          {
            "description": "The account's email address.\n\n**Warning:**\n\n* The `email` parameter is required when this function is called **outside** of Webmail.\n* If you call this function in Webmail, the `email` parameter is **not** required, and\nthe system overrides this parameter with the current authenticated user's email address.",
            "in": "query",
            "name": "email",
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "function-fail": {
                    "summary": "The function failed.",
                    "value": {
                      "apiversion": 3,
                      "module": "BoxTrapper",
                      "result": {
                        "data": [
                          {
                            "email": null,
                            "failed": 1,
                            "matches": [
                              "example"
                            ],
                            "reason": "(XID 2ymu8k) The system failed to locate the requested message:  example.msg"
                          }
                        ],
                        "errors": null,
                        "messages": null,
                        "metadata": {
                          "transformed": 1
                        },
                        "status": 1,
                        "warnings": [
                          "One or more of the operations failed."
                        ]
                      }
                    }
                  },
                  "function-success": {
                    "summary": "The function succeeded.",
                    "value": {
                      "apiversion": 3,
                      "data": [
                        {
                          "email": "user@example.com",
                          "matches": [
                            "example"
                          ],
                          "operator": "blacklist"
                        },
                        {
                          "email": "user@example.com",
                          "matches": [
                            "example"
                          ],
                          "operator": "deleteall"
                        }
                      ],
                      "errors": null,
                      "messages": null,
                      "metadata": {
                        "transformed": 1
                      },
                      "module": "BoxTrapper",
                      "status": 1,
                      "warnings": null
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "process_messages",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing processed email message information.",
                          "items": {
                            "properties": {
                              "email": {
                                "description": "The email address for which the system\nprocessed an email message.",
                                "format": "email",
                                "nullable": true,
                                "type": "string"
                              },
                              "failed": {
                                "description": "Whether the system failed to process the message.\n\n* `1` - The function failed to process the message. This is the only\npossible value.\n\n**Note:**\n\nThe function only returns this value if it fails to process the message.",
                                "enum": [
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "matches": {
                                "description": "An array of email messages that the system processed.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "operator": {
                                "description": "The operation that the system performed.\n* `deliver` - Delivered a specific message.\n* `deliverall` - Delivered all messages from a sender.\n* `delete` - Deleted a message.\n* `deleteall` - Deleted all messages from a sender.\n* `blacklist` - Blacklisted the sender of an email message.\n* `whitelist` - Whitelisted the sender of an email message.\n* `ignore` - Ignored email messages from a sender.\n\n**Note:**\n\nThe function only returns this value if it successfully processes the message.",
                                "enum": [
                                  "deliver",
                                  "deliverall",
                                  "delete",
                                  "deleteall",
                                  "blacklist",
                                  "whitelist",
                                  "ignore"
                                ],
                                "example": "delete",
                                "type": "string"
                              },
                              "reason": {
                                "description": "A message about the failure or the warning.\n\n**Note:**\n\nThe function only returns this value if it fails to processes the message or experiences issues when it processes the message.",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Run a specific BoxTrapper action for a message",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  process_messages \\\n  queuefile='example.msg' \\\n  action='blacklist'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/process_messages?queuefile=example.msg&action=blacklist"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_process_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_process_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/process_messages/,\n    {\n        'queuefile' => 'example.msg',\n        'action' => 'blacklist',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_process_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_process_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'process_messages',\n    array (\n        'queuefile' => 'example.msg',\n        'action' => 'blacklist',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/BoxTrapper/reset_email_template": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function restores the BoxTrapper email message templates to the system default setting.\n\n**Important:**\n\nWhen you **disable** the [Receive Mail](https://go.cpanel.net/serverroles) role, the system disables this function.",
        "operationId": "BoxTrapper-reset_email_template",
        "parameters": [
          {
            "description": "The message template. Possible values:\n* `blacklist` - BoxTrapper responds with this message when a blacklisted address sends an email.\n* `verify` - BoxTrapper responds with this message when an address that does not exist on the whitelist or blacklist sends an email. This message requests a response to confirm that the sender is legitimate.\n* `verifyreleased` - BoxTrapper responds with this message when a person responds to the verify message with an email or a click on the verification link.\n* `returnverify` - BoxTrapper responds with this message when the verification process fails.",
            "in": "query",
            "name": "template",
            "required": true,
            "schema": {
              "enum": [
                "blacklist",
                "verify",
                "verifyreleased",
                "returnverify"
              ],
              "example": "verify",
              "type": "string"
            }
          },
          {
            "description": "The account's email address.\n\n**Warning:**\n\nThe `email` parameter is required when this function is called outside of webmail.\nIf you call this function in Webmail, the `email` parameter is not required, and\nthe system overrides this parameter with the current authenticated user's email address.",
            "in": "query",
            "name": "email",
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "reset_email_template",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Restore default BoxTrapper email message template",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  reset_email_template \\\n  template='verify'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/reset_email_template?template=verify"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_reset_email_template.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_reset_email_template.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/reset_email_template/,\n    {\n        'template' => 'verify',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_reset_email_template.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_reset_email_template.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'reset_email_template',\n    array (\n        'template' => 'verify',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/BoxTrapper/save_configuration": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function modifies an account's BoxTrapper configuration.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "BoxTrapper-save_configuration",
        "parameters": [
          {
            "description": "The account's email address.\n\n**Warning:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "Whether to enable automatic whitelisting for the account.\n\n* `1` - Enable.\n* `0` - Disable.",
            "in": "query",
            "name": "enable_auto_whitelist",
            "required": true,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "A comma-separated list of email addresses that the system uses when it sends messages back to the original message senders.",
            "in": "query",
            "name": "from_addresses",
            "required": true,
            "schema": {
              "example": "sender1@test.com,sender2@test.com",
              "format": "email-csv",
              "type": "string"
            }
          },
          {
            "description": "The number of days to retain log files and queued messages.",
            "in": "query",
            "name": "queue_days",
            "required": true,
            "schema": {
              "example": 14,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to whitelist the email addresses in a message's *To* and *From* sections, including carbon-copied (CC) recipients.\n\n* `1` - Whitelist.\n* `0` - Do **not** whitelist.",
            "in": "query",
            "name": "whitelist_by_association",
            "required": true,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The name of the person who owns the email account.",
            "in": "query",
            "name": "from_name",
            "required": false,
            "schema": {
              "example": "User",
              "type": "string"
            }
          },
          {
            "description": "The account's Apache SpamAssassin™ threshold score. For more information about Apache SpamAssassin threshold scores, read our [Spam Filters](https://go.cpanel.net/cpaneldocsSpamFilters) documentation.\n\n**Note:**\n\nThis parameter defaults to the account's current configuration.",
            "in": "query",
            "name": "spam_score",
            "required": false,
            "schema": {
              "example": 2.5,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "save_configuration",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update email account's BoxTrapper configuration",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  save_configuration \\\n  email='user@example.com' \\\n  from_addresses='sender1@test.com,sender2@test.com' \\\n  queue_days='14' \\\n  enable_auto_whitelist='1' \\\n  whitelist_by_association='1'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/save_configuration?email=user%40example.com&from_addresses=sender1%40test.com%2csender2%40test.com&queue_days=14&enable_auto_whitelist=1&whitelist_by_association=1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_save_configuration.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_save_configuration.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/save_configuration/,\n    {\n        'email' => 'user@example.com',\n        'from_addresses' => 'sender1@test.com,sender2@test.com',\n        'queue_days' => '14',\n        'enable_auto_whitelist' => '1',\n        'whitelist_by_association' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_save_configuration.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_save_configuration.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'save_configuration',\n    array (\n        'email' => 'user@example.com',\n        'from_addresses' => 'sender1@test.com,sender2@test.com',\n        'queue_days' => '14',\n        'enable_auto_whitelist' => '1',\n        'whitelist_by_association' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/BoxTrapper/save_email_template": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function saves the contents of a BoxTrapper message template.\n\n**Important:**\n\nWhen you disable the [_Receive Mail_ role](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.",
        "operationId": "BoxTrapper-save_email_template",
        "parameters": [
          {
            "description": "The template file's contents.\n\nYou can use [variables](https://go.cpanel.net/cpaneldocsBoxTrapper) in the template\nto include details about the original message.\n\n**Important:**\n\n* You **must** include `To: %email%` in this parameter's value.\n* If you use the `verify` template, you **must** include `Subject: verify#%msgid%` in this parameter's value.\n* This value cannot exceed four kilobytes (KB).\n* You **must** URI-encode this parameter's value when using the CLI.",
            "in": "query",
            "name": "contents",
            "required": true,
            "schema": {
              "example": "To: %email%\nSubject: Re: %subject%\n\nThe user %acct% does not accept mail from your address.\n\nThe headers of the message sent from your address are shown below:\n\n%headers%",
              "type": "string"
            }
          },
          {
            "description": "The account's email address.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\n\n**Note:**\n\nThis parameter defaults to the current email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The message template.\n\n* `blacklist`\n* `returnverify`\n* `verifyreleased`\n* `verify`\n\n**Important:**\n\nIf you use the `verify` template, you **must** include `Subject: verify#%msgid%` in this parameter's value.\n\n**Note:**\n\nFor more information about each template, read our [BoxTrapper documentation](https://go.cpanel.net/cpaneldocsBoxTrapper).",
            "in": "query",
            "name": "template",
            "required": true,
            "schema": {
              "enum": [
                "blacklist",
                "returnverify",
                "verifyreleased",
                "verify"
              ],
              "example": "blacklist",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "save_email_template",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Save BoxTrapper message template contents",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  save_email_template \\\n  email='user@example.com' \\\n  template='blacklist' \\\n  contents='To: %25email%25\nSubject: Re: %25subject%25\n\nThe user %25acct%25 does not accept mail from your address.\n\nThe headers of the message sent from your address are shown below:\n\n%25headers%25'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/save_email_template?email=user%40example.com&template=blacklist&contents=To%3a%20%25email%25%0aSubject%3a%20Re%3a%20%25subject%25%0a%0aThe%20user%20%25acct%25%20does%20not%20accept%20mail%20from%20your%20address.%0a%0aThe%20headers%20of%20the%20message%20sent%20from%20your%20address%20are%20shown%20below%3a%0a%0a%25headers%25"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_save_email_template.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_save_email_template.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/save_email_template/,\n    {\n        'email' => 'user@example.com',\n        'template' => 'blacklist',\n        'contents' => 'To: %email%\nSubject: Re: %subject%\n\nThe user %acct% does not accept mail from your address.\n\nThe headers of the message sent from your address are shown below:\n\n%headers%',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_save_email_template.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_save_email_template.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'save_email_template',\n    array (\n        'email' => 'user@example.com',\n        'template' => 'blacklist',\n        'contents' => 'To: %email%\nSubject: Re: %subject%\n\nThe user %acct% does not accept mail from your address.\n\nThe headers of the message sent from your address are shown below:\n\n%headers%',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/BoxTrapper/set_allowlist": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function sets the BoxTrapper allowlist configuration rules. BoxTrapper will deliver emails that match these rules.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://go.cpanel.net/serverroles),\nthe system **disables** this function.",
        "operationId": "BoxTrapper-set_allowlist",
        "parameters": [
          {
            "description": "A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "An array of allowlist rules.\n\n**Note:**\n\nYou can set multiple allowlist rules, duplicate or increment the parameter name. For example,\n`rules-1`, `rules-2`, and `rules-3`.",
            "examples": {
              "multiple": {
                "summary": "Set multiple rules.",
                "value": "rules-1='allowlisted-email\\@domain\\.com' rules-2='from allowlisted-email2\\@domain\\.com' rules-3='to domain2\\.com'"
              },
              "multiple-alternative": {
                "summary": "Set multiple rules.",
                "value": "rules='allowlisted-email\\@domain\\.com' rules='from allowlisted-email2\\@domain\\.com' rules='to domain2\\.com'"
              },
              "single": {
                "summary": "Set a single rule.",
                "value": "allowlisted-email\\@domain\\.com"
              }
            },
            "in": "query",
            "name": "rules",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_allowlist",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update account BoxTrapper allowlist",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty --user=username BoxTrapper set_allowlist email='user@example.com' rules-1='allowlisted-email\\@domain\\.com' rules-2='from allowlisted-email2\\@domain\\.com' rules-3='to domain2\\.com'"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/set_allowlist?email=user%40example.com&rules=allowlisted-email%5c%40domain%5c.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_set_allowlist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_allowlist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/set_allowlist/,\n    {\n        'email' => 'user@example.com',\n        'rules' => 'allowlisted-email\\@domain\\.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_set_allowlist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_allowlist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'set_allowlist',\n    array (\n        'email' => 'user@example.com',\n        'rules' => 'allowlisted-email\\@domain\\.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 94"
      }
    },
    "/BoxTrapper/set_blocklist": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function sets the BoxTrapper blocklist configuration rules. BoxTrapper will delete messages that match these rules and send a notification to the sender.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://go.cpanel.net/serverroles),\nthe system **disables** this function.",
        "operationId": "BoxTrapper-set_blocklist",
        "parameters": [
          {
            "description": "A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "An array of blocklist rules.\n\n**Note:**\n\nYou can set multiple block rules, duplicate or increment the parameter name. For example,\n`rules-1`, `rules-2`, and `rules-3`.",
            "examples": {
              "multiple": {
                "summary": "Set multiple rules.",
                "value": "rules-1='blocklisted-email\\@domain\\.com' rules-2='from blocklisted-email2\\@domain\\.com' rules-3='to domain2\\.com'"
              },
              "multiple-alternative": {
                "summary": "Set multiple rules.",
                "value": "rules='blocklisted-email\\@domain\\.com' rules='from blocklisted-email2\\@domain\\.com' rules='to domain2\\.com'"
              },
              "single": {
                "summary": "Set a single rule.",
                "value": "blocklisted-email\\@domain\\.com"
              }
            },
            "in": "query",
            "name": "rules",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_blocklist",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update account BoxTrapper blocklist",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty --user=username BoxTrapper set_blocklist email='user@example.com' rules-1='blocklisted-email\\@domain\\.com' rules-2='from blocklisted-email2\\@domain\\.com' rules-3='to domain2\\.com'"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/set_blocklist?email=user%40example.com&rules=blocklisted-email%5c%40domain%5c.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_set_blocklist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_blocklist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/set_blocklist/,\n    {\n        'email' => 'user@example.com',\n        'rules' => 'blocklisted-email\\@domain\\.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_set_blocklist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_blocklist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'set_blocklist',\n    array (\n        'email' => 'user@example.com',\n        'rules' => 'blocklisted-email\\@domain\\.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 94"
      }
    },
    "/BoxTrapper/set_forwarders": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function adds a list of email addresses to which BoxTrapper forwards email messages.\n\n**Important:**\n\n  When you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "BoxTrapper-set_forwarders",
        "parameters": [
          {
            "description": "The account's email address.\n\n**Warning:**\n\nIf you call this function\nin Webmail, the system ignores this parameter and uses the currently-authenticated\nemail address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "type": "string"
            }
          },
          {
            "description": "The email addresses to which to forward email messages.",
            "example": [
              "user1@example.com"
            ],
            "in": "query",
            "name": "forwarder",
            "required": true,
            "schema": {
              "items": {
                "example": "user1@example.com",
                "format": "email"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_forwarders",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add email address to BoxTrapper forwarders",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  set_forwarders \\\n  email='user@example.com' \\\n  forwarder='user1@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/set_forwarders?email=user%40example.com&forwarder=user1%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_set_forwarders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_forwarders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/set_forwarders/,\n    {\n        'email' => 'user@example.com',\n        'forwarder' => 'user1@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_set_forwarders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_forwarders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'set_forwarders',\n    array (\n        'email' => 'user@example.com',\n        'forwarder' => 'user1@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 86"
      }
    },
    "/BoxTrapper/set_ignorelist": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function sets the BoxTrapper ignorelist configuration rules. BoxTrapper will delete messages that match these rules without sending a notification to the sender.\n\n**Important:**\n\nWhen you disable the\n[*Receive Mail* role](https://go.cpanel.net/serverroles),\nthe system **disables** this function.",
        "operationId": "BoxTrapper-set_ignorelist",
        "parameters": [
          {
            "description": "A valid email address on the cPanel account.\n\n**Warning:**\n\nIf you call this function in Webmail, the system overrides this parameter.\nThis parameter defaults to the current email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "An array of ignorelist rules.\n\n**Note:**\n\nYou can set multiple ignore rules, duplicate or increment the parameter name. For example,\n`rules-1`, `rules-2`, and `rules-3`.",
            "examples": {
              "multiple": {
                "summary": "Set multiple rules.",
                "value": "rules-1='ignored-email\\@domain\\.com' rules-2='from ignored-email2\\@domain\\.com' rules-3='to domain2\\.com'"
              },
              "multiple-alternative": {
                "summary": "Set multiple rules.",
                "value": "rules='ignored-email\\@domain\\.com' rules='from ignored-email2\\@domain\\.com' rules='to domain2\\.com'"
              },
              "single": {
                "summary": "Set a single rule.",
                "value": "ignored-email\\@domain\\.com"
              }
            },
            "in": "query",
            "name": "rules",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_ignorelist",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update account BoxTrapper ignorelist",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty --user=username BoxTrapper set_ignorelist email='user@example.com' rules-1='ignored-email\\@domain\\.com' rules-2='from ignored-email2\\@domain\\.com' rules-3='to domain2\\.com'"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/set_ignorelist?email=user%40example.com&rules=ignored-email%5c%40domain%5c.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_set_ignorelist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_ignorelist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/set_ignorelist/,\n    {\n        'email' => 'user@example.com',\n        'rules' => 'ignored-email\\@domain\\.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_set_ignorelist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_ignorelist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'set_ignorelist',\n    array (\n        'email' => 'user@example.com',\n        'rules' => 'ignored-email\\@domain\\.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 94"
      }
    },
    "/BoxTrapper/set_status": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables or disables BoxTrapper for an email account.\n\n**Important:**\n\n  When you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "BoxTrapper-set_status",
        "parameters": [
          {
            "description": "The account's name. This can be an email address or the cPanel user’s username.\n\n**Warning:**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated email address.",
            "example": "user@example.com",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "oneOf": [
                {
                  "example": "user@example.com",
                  "format": "email",
                  "type": "string"
                },
                {
                  "example": "exampleuser",
                  "format": "username",
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "Whether to enable or disable BoxTrapper for the email account.\n\n* `1` - Enable BoxTrapper.\n* `0` - **Disable** BoxTrapper.",
            "in": "query",
            "name": "enabled",
            "required": true,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_status",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable or disable BoxTrapper for email account",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  set_status \\\n  email='user@example.com' \\\n  enabled='1'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/set_status?email=user%40example.com&enabled=1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_set_status.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_status.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/set_status/,\n    {\n        'email' => 'user@example.com',\n        'enabled' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_set_status.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_set_status.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'set_status',\n    array (\n        'email' => 'user@example.com',\n        'enabled' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/BoxTrapper/whitelist_messages": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function whitelists email messages.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.\n\n**Note:**\n\nTo retrieve email messages in the BoxTrapper queue from senders that you did not previously whitelist, use the UAPI `BoxTrapper::deliver_messages` function.",
        "operationId": "BoxTrapper-whitelist_messages",
        "parameters": [
          {
            "description": "The filename of the email message to whitelist.\n\n**Note:**\n\nTo get a list of filenames in an account's BoxTrapper queue, use the UAPI `BoxTrapper::list_queued_messages` function.\n\n**Note:**\n\nTo whitelist multiple email messages, duplicate this parameter.",
            "examples": {
              "multiple": {
                "summary": "Whitelist multiple messages.",
                "value": "queuefile=ex1.msg&queuefile=ex2.msg&queuefile=ex3.msg"
              },
              "single": {
                "summary": "Whitelist a single message.",
                "value": "example.msg"
              }
            },
            "in": "query",
            "name": "queuefile",
            "required": true,
            "schema": {
              "example": "example.msg",
              "type": "string"
            }
          },
          {
            "description": "The cPanel account email address for which to whitelist messages.\n\n**Warning**\n\nIf you call this function in Webmail, the system ignores this parameter and defaults to the currently-authenticated email address.",
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "whitelist_messages",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "BoxTrapper",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of one or more objects, depending on how many queuefiles were passed as parameters. Each object contains information about the whitelisted email message.",
                          "example": [
                            {
                              "email": "user@example.com",
                              "matches": [
                                "example.msg"
                              ],
                              "operator": "whitelist"
                            }
                          ],
                          "items": {
                            "properties": {
                              "email": {
                                "description": "A whitelisted email address.",
                                "example": "user@example.com",
                                "format": "email",
                                "type": "string"
                              },
                              "failed": {
                                "default": "1",
                                "description": "The system failed to whitelist the message.\n\n* `1` — The function failed to whitelist the message. This is the only possible value.\n\n**Note:**\n\nThe function only returns this property if it failed to whitelist the message.",
                                "enum": [
                                  "1"
                                ],
                                "example": "1",
                                "type": "string"
                              },
                              "matches": {
                                "description": "An array of message files that the system whitelisted.\n\n**Note:**\n\nThe function **only** returns this value if it whitelists the message.",
                                "items": {
                                  "example": "example.msg",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "operator": {
                                "default": "whitelist",
                                "description": "The action that the system performed.",
                                "enum": [
                                  "whitelist"
                                ],
                                "example": "whitelist",
                                "type": "string"
                              },
                              "reason": {
                                "description": "The reason the function skipped the message during whitelisting. The `reason` property is returned only if the function failed to whitelist the message.",
                                "example": "The cPanel user, \"user\" does not own the requested account \"user@example.com.\"",
                                "type": "string"
                              },
                              "warning": {
                                "default": 1,
                                "description": "Whether the system experienced issues when it whitelisted the message.\n\n* `1` — There was an issue whitelisting the message. This is the only possible value.\n\n**Note:**\n\nThe function only returns this property if it failed to whitelist the message.",
                                "enum": [
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add email address to BoxTrapper allowed senders",
        "tags": [
          "BoxTrapper",
          "Spam Prevention (BoxTrapper)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  BoxTrapper \\\n  whitelist_messages \\\n  queuefile='example.msg'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/BoxTrapper/whitelist_messages?queuefile=example.msg"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file BoxTrapper_whitelist_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/BoxTrapper_whitelist_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/BoxTrapper/,\n    q/whitelist_messages/,\n    {\n        'queuefile' => 'example.msg',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file BoxTrapper_whitelist_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/BoxTrapper_whitelist_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'BoxTrapper',\n    'whitelist_messages',\n    array (\n        'queuefile' => 'example.msg',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/Branding/get_application_information": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves an application's information from the `dynamicui.conf` file.",
        "operationId": "Branding-get_application_information",
        "parameters": [
          {
            "description": "The application's feature name. This value **must** match a feature's `app_key` value. For a list of app_key values, read our [Guide to cPanel Interface Customization - Appkeys](https://go.cpanel.net/appkey) documentation.",
            "in": "query",
            "name": "app_key",
            "required": true,
            "schema": {
              "example": "boxtrapper",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_application_information",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Branding",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "feature": {
                              "description": "The application's feature name. The `app_key` parameter's value.",
                              "example": "boxtrapper",
                              "type": "string"
                            },
                            "file": {
                              "description": "The application's icon's filename.",
                              "example": "boxtrapper",
                              "type": "string"
                            },
                            "group": {
                              "description": "The application's group.",
                              "example": "mail",
                              "type": "string"
                            },
                            "height": {
                              "description": "The application's icon's height, in pixels.",
                              "example": 32,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "if": {
                              "description": "Conditional arguments that determine whether to display the item, if any exist. Conditional arguments that determine whether to display the item. For example, $isreseller indicates that the item only displays for reseller accounts. For more information, read our Guide to cPanel Variables documentation.",
                              "example": "$hasboxtrapper",
                              "type": "string"
                            },
                            "imgtype": {
                              "description": "The item's image type.\n `icon` is the only possible value.",
                              "enum": [
                                "icon"
                              ],
                              "example": "icon",
                              "type": "string"
                            },
                            "itemdesc": {
                              "description": "The application's display name.",
                              "example": "BoxTrapper",
                              "type": "string"
                            },
                            "itemorder": {
                              "description": "The application's order in the `dynamicui.conf` file representing the application's display order in cPanel's Home interface. For example, the first item on the cPanel Home interface has an `itemorder` value of `1`.",
                              "example": 3,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "module": {
                              "description": "The application's module. A valid module name.",
                              "example": "BoxTrapper",
                              "type": "string"
                            },
                            "searchtext": {
                              "description": "One or more search terms. The application's icon will display when users enter these search terms in the Quick Find text box. A space-separated list of search terms.",
                              "example": "boxtrapper",
                              "type": "string"
                            },
                            "subtype": {
                              "description": "The item's subtype.\n `img` is the only possible value .",
                              "enum": [
                                "img"
                              ],
                              "example": "img",
                              "type": "string"
                            },
                            "type": {
                              "description": "The application's type.\n `image` is the only possible value.",
                              "enum": [
                                "image"
                              ],
                              "example": "image",
                              "type": "string"
                            },
                            "url": {
                              "description": "The location to which the application's icon links. A valid filepath or URL.",
                              "example": "mail/boxtrapper.html",
                              "type": "string"
                            },
                            "width": {
                              "description": "The application's icon's width representing an image width, in pixels.",
                              "example": 35,
                              "minimum": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return single app's info from dynamicui.conf",
        "tags": [
          "Branding",
          "Application Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Branding \\\n  get_application_information \\\n  app_key='boxtrapper'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Branding/get_application_information?app_key=boxtrapper"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Branding_get_application_information.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Branding_get_application_information.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Branding/,\n    q/get_application_information/,\n    {\n        'app_key' => 'boxtrapper',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Branding_get_application_information.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Branding_get_application_information.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Branding',\n    'get_application_information',\n    array (\n        'app_key' => 'boxtrapper',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Branding/get_applications": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves an application's information from a specific theme's `dynamicui.conf` file.",
        "operationId": "Branding-get_applications",
        "parameters": [
          {
            "description": "A comma-separated list of an application feature names. If you do not specify this parameter,\nthe output will include all of the applications that the `dynamicui.conf` file contains.\n\n**Note:**\n\n* This value must match an application's `feature` value in the `dynamicui.conf` file.\n* For more information, read our [Guide to cPanel Interface Customization - Appkeys](https://go.cpanel.net/appkey) documentation.",
            "in": "query",
            "name": "app_keys",
            "required": false,
            "schema": {
              "example": "addon_domains,ftp_accounts,anonymous_ftp",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_applications",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Branding",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "additionalProperties": {
                            "description": "The feature's details. The function returns an object for each\napplication feature.\n\n**Note:***\n\nThe property name corresponds to the name(s) specified\nin the `app_keys` parameter.",
                            "properties": {
                              "feature": {
                                "description": "The feature name. The item will **only** display if the cPanel user has access to this feature.",
                                "example": "addondomains",
                                "type": "string"
                              },
                              "file": {
                                "description": "The application's icon's filename.",
                                "example": "addon_domains",
                                "type": "string"
                              },
                              "group": {
                                "description": "The item's group.",
                                "example": "advanced",
                                "type": "string"
                              },
                              "height": {
                                "description": "The application's icon's height, in pixels.",
                                "example": 48,
                                "minimum": 1,
                                "type": "integer"
                              },
                              "if": {
                                "description": "Conditional arguments that determine whether to display the item, if any exist.\n\nFor example, `$isreseller` indicates that the item **only** displays for reseller\naccounts.\n\nFor more information, read our\n[Guide to cPanel Variables](https://go.cpanel.net/guidetovariables)\ndocumentation.",
                                "example": "$is_reseller",
                                "type": "string"
                              },
                              "imgtype": {
                                "description": "The item's image type.\n\n* `icon` is the only possible value.",
                                "enum": [
                                  "icon"
                                ],
                                "example": "icon",
                                "type": "string"
                              },
                              "implements": {
                                "description": "The `implements` value for the application. This corresponds to the `implements` field in the `dynamicui.conf` file.",
                                "example": "Domains_AddonDomains",
                                "type": "string"
                              },
                              "itemdesc": {
                                "description": "The application's display name. value.",
                                "example": "Addon Domain",
                                "type": "string"
                              },
                              "itemorder": {
                                "description": "The application's order in the `dynamicui.conf`\nfile, representing the application's display order in\ncPanel's *Home* interface.\n\nFor example, the first item on the cPanel *Home* interface\nhas an `itemorder` value of `1`.",
                                "example": 4,
                                "minimum": 1,
                                "type": "integer"
                              },
                              "searchtext": {
                                "description": "A space-separated list of search terms. The item will display when users enter these search terms in the *Quick Find* textbox.",
                                "example": "Domains Addon domain",
                                "type": "string"
                              },
                              "subtype": {
                                "description": "The item's subtype.\n\n* `img` is the only possible value.",
                                "enum": [
                                  "img"
                                ],
                                "example": "img",
                                "type": "string"
                              },
                              "touch": {
                                "description": "Conditional arguments that determine whether to display the item, if the touch file exists.",
                                "example": "ftp",
                                "type": "string"
                              },
                              "type": {
                                "description": "The application's type.\n\n* `image` is the only possible value.",
                                "enum": [
                                  "image"
                                ],
                                "example": "image",
                                "type": "string"
                              },
                              "url": {
                                "description": "The location to which the application's icon links.",
                                "example": "addon/index.html",
                                "format": "url-path",
                                "type": "string"
                              },
                              "width": {
                                "description": "The application's icon's width.",
                                "example": 48,
                                "minimum": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "example": {
                            "addon_domains": {
                              "acontent": "",
                              "base64_png_image": "",
                              "feature": "addondomains",
                              "file": "addon_domains",
                              "group": "domains",
                              "height": "48",
                              "if": "$HASROLE{'WebServer'}",
                              "imgtype": "icon",
                              "implements": "Domains_AddonDomains",
                              "itemdesc": "Addon Domains",
                              "itemorder": "3",
                              "key": "addon_domains",
                              "onclick": "",
                              "plainitemdesc": "Addon Domains",
                              "searchtext": "Domains Addon domain Addon Domains",
                              "subtype": "img",
                              "target": "",
                              "type": "image",
                              "url": "addon/index.html",
                              "width": "48"
                            },
                            "anonymous_ftp": {
                              "acontent": "",
                              "base64_png_image": "",
                              "feature": "ftpaccts",
                              "file": "anonymous_ftp",
                              "group": "files",
                              "height": "48",
                              "if": "$SERVICEPROVIDED{'ftp'} && $hasanonftp",
                              "imgtype": "icon",
                              "itemdesc": "Anonymous FTP",
                              "itemorder": "8",
                              "key": "anonymous_ftp",
                              "onclick": "",
                              "plainitemdesc": "Anonymous FTP",
                              "searchtext": "Anonymous FTP anonymousftp",
                              "subtype": "img",
                              "target": "",
                              "touch": "ftp",
                              "type": "image",
                              "url": "ftp/anonymous.html",
                              "width": "48"
                            },
                            "ftp_accounts": {
                              "acontent": "",
                              "base64_png_image": "",
                              "feature": "ftpaccts",
                              "file": "ftp_accounts",
                              "group": "files",
                              "height": "48",
                              "if": "$SERVICEPROVIDED{'ftp'}",
                              "imgtype": "icon",
                              "itemdesc": "FTP Accounts",
                              "itemorder": "6",
                              "key": "ftp_accounts",
                              "onclick": "",
                              "plainitemdesc": "FTP Accounts",
                              "searchtext": "FTP Accounts ftp create",
                              "subtype": "img",
                              "target": "",
                              "touch": "ftp",
                              "type": "image",
                              "url": "ftp/accounts.html",
                              "width": "48"
                            }
                          }
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return multiple apps' info from dynamicui.conf",
        "tags": [
          "Branding",
          "Application Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Branding \\\n  get_applications\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Branding/get_applications"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Branding_get_applications.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Branding_get_applications.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Branding/,\n    q/get_applications/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Branding_get_applications.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Branding_get_applications.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Branding',\n    'get_applications'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/Branding/get_available_applications": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves information about the groups and applications in the authenticated user's cPanel interface.",
        "operationId": "Branding-get_available_applications",
        "parameters": [
          {
            "description": "A pipe-separated list of group names denoting the order in which to sort the\ngroups. If you do not supply a value, the function does not sort the groups.\n\n**Note:**\n\n`arglist` is an alias for this parameter.",
            "in": "query",
            "name": "nvarglist",
            "required": false,
            "schema": {
              "example": "pref|software|domains",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_available_applications",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Branding",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "default_group_order": {
                              "additionalProperties": {
                                "description": "The group's default position.\n\n**Note:**\n\nThe property name is the group ID.",
                                "type": "integer"
                              },
                              "description": "An object that defines the default order of applications in cPanel.",
                              "example": {
                                "advanced": 7,
                                "databases": 2,
                                "domains": 3,
                                "email": 4,
                                "files": 1,
                                "metrics": 5,
                                "preferences": 8,
                                "sample_apps": 9,
                                "security": 6,
                                "software": 6
                              },
                              "type": "object"
                            },
                            "grouporder": {
                              "description": "A list of group IDs, in the order in which the groups appear.",
                              "example": [
                                "files",
                                "databases",
                                "domains",
                                "email",
                                "metrics",
                                "security",
                                "software",
                                "advanced",
                                "preferences",
                                "pref"
                              ],
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "groups": {
                              "description": "Information about each group in the cPanel interface.",
                              "items": {
                                "properties": {
                                  "desc": {
                                    "description": "The group's description.",
                                    "example": "Files",
                                    "type": "string"
                                  },
                                  "group": {
                                    "description": "The group's ID.",
                                    "example": "files",
                                    "type": "string"
                                  },
                                  "items": {
                                    "description": "The groups and their application details.",
                                    "items": {
                                      "example": {
                                        "acontent": "target=\"file_manager\"",
                                        "base64_png_image": "",
                                        "feature": "filemanager",
                                        "file": "file_manager",
                                        "group": "files",
                                        "height": "48",
                                        "if": "$HASROLE{'FileStorage'}",
                                        "imgtype": "icon",
                                        "implements": "FileManager_Home",
                                        "itemdesc": "File Manager",
                                        "itemorder": "1",
                                        "key": "file_manager",
                                        "onclick": "",
                                        "plainitemdesc": "File Manager",
                                        "searchtext": "File Manager file-manager",
                                        "subtype": "img",
                                        "target": "file_manager",
                                        "type": "image",
                                        "url": "filemanager/index.html",
                                        "width": "48"
                                      },
                                      "properties": {
                                        "acontent": {
                                          "description": "The content of a tag in the application's link.",
                                          "example": "file_manager",
                                          "type": "string"
                                        },
                                        "base64_png_image": {
                                          "description": "The application's icon in Base64 format.",
                                          "format": "base64 image",
                                          "type": "string"
                                        },
                                        "feature": {
                                          "description": "A feature name. The icon **only** displays if the cPanel user can access this feature.",
                                          "example": "addondomains",
                                          "type": "string"
                                        },
                                        "file": {
                                          "description": "The application's icon's filename.",
                                          "example": "addon_domains",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "The item's group.",
                                          "example": "advanced",
                                          "type": "string"
                                        },
                                        "height": {
                                          "description": "The application icon height, in pixels.",
                                          "example": "48",
                                          "type": "string"
                                        },
                                        "if": {
                                          "description": "An expression containing cPanel variables that determine whether\nto display the item. The function **only** returns this value if\nany variables exist.\n\nFor example, `$isreseller` indicates that the item **only**\ndisplays for reseller accounts.\n\nFor more information, read our\n[Guide to cPanel Variables documentation](https://go.cpanel.net/guidetovariables).",
                                          "example": "$isreseller",
                                          "type": "string"
                                        },
                                        "imgtype": {
                                          "description": "The item's image type.\n\n`icon` is the only possible value.",
                                          "enum": [
                                            "icon"
                                          ],
                                          "example": "icon",
                                          "type": "string"
                                        },
                                        "implements": {
                                          "description": "The `implements` name of the application. WHM API 1's `create_user_session` and `get_users_links` functions use this value.",
                                          "example": "Domains_AddonDomains",
                                          "type": "string"
                                        },
                                        "itemdesc": {
                                          "description": "The application's display name.",
                                          "example": "Addon Domain",
                                          "type": "string"
                                        },
                                        "itemorder": {
                                          "description": "The application's order in the `dynamicui.conf` file. This value represents the application's display order in cPanel's *Home* interface.",
                                          "example": "4",
                                          "type": "string"
                                        },
                                        "module": {
                                          "description": "The Perl module that the application requires.",
                                          "example": "My::Module",
                                          "type": "string"
                                        },
                                        "onclick": {
                                          "description": "JavaScript function that the browser calls before or instead of URL navigation.",
                                          "example": "function",
                                          "type": "string"
                                        },
                                        "searchtext": {
                                          "description": "One or more space-separated search terms.  The icon will display when users enter these search terms in the *Quick Find* text box in the cPanel interface.",
                                          "example": "Domains Addon domain",
                                          "type": "string"
                                        },
                                        "subtype": {
                                          "description": "The item's subtype.\n\n`img` is the only possible value.",
                                          "enum": [
                                            "img"
                                          ],
                                          "example": "img",
                                          "type": "string"
                                        },
                                        "target": {
                                          "description": "The target of the application's link.",
                                          "example": "file_manager",
                                          "type": "string"
                                        },
                                        "touch": {
                                          "description": "Conditional arguments that determine whether to display the item, if a specified touch file exists.",
                                          "example": "ftp",
                                          "type": "string"
                                        },
                                        "type": {
                                          "description": "The application's type.\n\n`image` is the only possible value.",
                                          "enum": [
                                            "image"
                                          ],
                                          "example": "image",
                                          "type": "string"
                                        },
                                        "url": {
                                          "description": "The path to which the application's icon links.",
                                          "example": "addon/index.html",
                                          "format": "url-path",
                                          "type": "string"
                                        },
                                        "width": {
                                          "description": "The application's icon's width, in pixels.",
                                          "example": "48",
                                          "type": "string"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "type": "array"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "implements": {
                              "additionalProperties": {
                                "description": "The application and its Appkey value.\n\n**Note:**\n\nThis return's name is the application's name, in its `implements` value format.",
                                "type": "string"
                              },
                              "description": "An object mapping the `implements` names to Appkey values for applications in cPanel.\n\nFor example, use this mapping to determine that the `implements`\nvalue `SSL_TLS_Status` maps to the Appkey value `tls_status`.\n\n**Note:**\n\n* The Appkey for an application can be found in the `key` attribute elsewhere in the API response.\n* The `implements` for an application can be found in the `implements` attribute elsewhere in the API response.\n* For more information about Appkey values, read our [Guide to cPanel Interface Customization - Appkeys](https://go.cpanel.net/paper-lantern-theme-guide-to-cpanel-interface-customization-appkeys) documentation.",
                              "example": {
                                "API_Tokens_Manager": "api_tokens",
                                "Backups_Home": "backup",
                                "Calendar_Configure": "calendar_and_contacts",
                                "ContactInfo_Change": "contact_information",
                                "Cron_Home": "cron_jobs",
                                "Database_MySQL": "mysql_databases",
                                "Database_phpMyAdmin": "php_my_admin",
                                "Domains_AddonDomains": "addon_domains",
                                "Domains_SubDomains": "subdomains",
                                "Email_AccountLevelFiltering": "global_email_filters",
                                "Email_Accounts": "email_accounts",
                                "Email_Authentication": "email_deliverability",
                                "Email_AutoResponders": "autoresponders",
                                "Email_BoxTrapper": "boxtrapper",
                                "Email_DefaultAddress": "default_address",
                                "Email_DeliveryReport": "track_delivery",
                                "Email_Disk_Usage": "email_disk_usage",
                                "Email_Forwarders": "forwarders",
                                "Email_MailingLists": "mailing_lists",
                                "Email_Routing": "email_routing",
                                "Email_SpamFilter": "apache_spam_assassin",
                                "Email_UserLevelFiltering": "email_filters",
                                "FileManager_Home": "file_manager",
                                "Locale_Change": "change_language",
                                "Password_Change": "change_password",
                                "SSL_TLS_Manager": "ssl_tls",
                                "SSL_TLS_Status": "tls_status",
                                "Site_Software": "site_software",
                                "Stats_AWStats": "awstats"
                              },
                              "type": "object"
                            },
                            "index": {
                              "additionalProperties": {
                                "description": "The order in which the application appears in the cPanel interface:\n* The first integer represents the group in which the application appears, starting at `0`.\n* The second integer represents the order in which the application appears in the group, starting at `0`.\n\n**Note:**\n\nThe array's name is the application's name.",
                                "items": {
                                  "type": "integer"
                                },
                                "type": "array"
                              },
                              "description": "The applications and the order in which they appear in the cPanel interface.",
                              "example": {
                                "addon_domains": [
                                  2,
                                  2
                                ],
                                "address_importer": [
                                  3,
                                  10
                                ],
                                "aliases": [
                                  2,
                                  4
                                ],
                                "analog_stats": [
                                  4,
                                  5
                                ],
                                "apache_handlers": [
                                  7,
                                  5
                                ],
                                "apache_spam_assassin": [
                                  3,
                                  11
                                ],
                                "api_tokens": [
                                  5,
                                  3
                                ],
                                "autoresponders": [
                                  3,
                                  3
                                ],
                                "awstats": [
                                  4,
                                  4
                                ],
                                "backup": [
                                  0,
                                  5
                                ],
                                "backup_wizard": [
                                  0,
                                  6
                                ],
                                "bandwidth": [
                                  4,
                                  2
                                ],
                                "boxtrapper": [
                                  3,
                                  13
                                ],
                                "calendar_and_contacts": [
                                  3,
                                  14
                                ],
                                "change_language": [
                                  8,
                                  1
                                ],
                                "change_password": [
                                  8,
                                  0
                                ],
                                "change_style": [
                                  8,
                                  2
                                ],
                                "contact_information": [
                                  8,
                                  3
                                ],
                                "cron_jobs": [
                                  7,
                                  1
                                ],
                                "default_address": [
                                  3,
                                  4
                                ],
                                "directory_privacy": [
                                  0,
                                  2
                                ],
                                "disk_usage": [
                                  0,
                                  3
                                ],
                                "domains": [
                                  2,
                                  1
                                ],
                                "email_accounts": [
                                  3,
                                  0
                                ],
                                "email_deliverability": [
                                  3,
                                  9
                                ],
                                "email_disk_usage": [
                                  3,
                                  15
                                ],
                                "email_filters": [
                                  3,
                                  8
                                ],
                                "email_routing": [
                                  3,
                                  2
                                ],
                                "encryption": [
                                  3,
                                  12
                                ],
                                "error_pages": [
                                  7,
                                  4
                                ],
                                "errors": [
                                  4,
                                  1
                                ],
                                "file_manager": [
                                  0,
                                  0
                                ],
                                "forwarders": [
                                  3,
                                  1
                                ],
                                "global_email_filters": [
                                  3,
                                  7
                                ],
                                "hotlink_protection": [
                                  5,
                                  4
                                ],
                                "images": [
                                  0,
                                  1
                                ],
                                "indexes": [
                                  7,
                                  3
                                ],
                                "ip_blocker": [
                                  5,
                                  1
                                ],
                                "leech_protection": [
                                  5,
                                  5
                                ],
                                "mailing_lists": [
                                  3,
                                  5
                                ],
                                "metrics_editor": [
                                  4,
                                  7
                                ],
                                "mime_types": [
                                  7,
                                  6
                                ],
                                "multiphp_ini_editor": [
                                  6,
                                  5
                                ],
                                "multiphp_manager": [
                                  6,
                                  4
                                ],
                                "mysql_database_wizard": [
                                  1,
                                  2
                                ],
                                "mysql_databases": [
                                  1,
                                  1
                                ],
                                "optimize_website": [
                                  6,
                                  3
                                ],
                                "perl_modules": [
                                  6,
                                  1
                                ],
                                "php_my_admin": [
                                  1,
                                  0
                                ],
                                "php_pear_packages": [
                                  6,
                                  0
                                ],
                                "raw_access": [
                                  4,
                                  3
                                ],
                                "redirects": [
                                  2,
                                  5
                                ],
                                "remote_mysql": [
                                  1,
                                  3
                                ],
                                "site_publisher": [
                                  2,
                                  0
                                ],
                                "site_software": [
                                  6,
                                  2
                                ],
                                "ssh_access": [
                                  5,
                                  0
                                ],
                                "ssl_tls": [
                                  5,
                                  2
                                ],
                                "subdomains": [
                                  2,
                                  3
                                ],
                                "terminal": [
                                  7,
                                  0
                                ],
                                "tls_status": [
                                  5,
                                  6
                                ],
                                "track_delivery": [
                                  3,
                                  6
                                ],
                                "track_dns": [
                                  7,
                                  2
                                ],
                                "user_manager": [
                                  8,
                                  4
                                ],
                                "version_control": [
                                  0,
                                  7
                                ],
                                "visitors": [
                                  4,
                                  0
                                ],
                                "web_disk": [
                                  0,
                                  4
                                ],
                                "webalizer": [
                                  4,
                                  6
                                ],
                                "zone_editor": [
                                  2,
                                  6
                                ]
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return current user's cPanel application details",
        "tags": [
          "Branding",
          "Application Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Branding \\\n  get_available_applications\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Branding/get_available_applications"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Branding_get_available_applications.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Branding_get_available_applications.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Branding/,\n    q/get_available_applications/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Branding_get_available_applications.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Branding_get_available_applications.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Branding',\n    'get_available_applications'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/Branding/get_information_for_applications": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves an application's information from a specific\ntheme's `sitemap.json` file.",
        "operationId": "Branding-get_information_for_applications",
        "parameters": [
          {
            "description": "The absolute path to the directory containing the `sitemap.json` file.\nThis is the path to your theme's document root.",
            "in": "query",
            "name": "docroot",
            "required": true,
            "schema": {
              "example": "/usr/local/cpanel/base/webmail/jupiter",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "A comma-separated list of Appkey names. If you do **not**\nspecify this parameter, the output will include all of the applications that the\n`sitemap.json` file contains.\n\n**Note:**\n\nThis value **must** match an application's `key` value in the `sitemap.json` file.\nFor more information, read our\n[Guide to cPanel Interface Customization - Appkeys](https://go.cpanel.net/appkey)\ndocumentation.",
            "in": "query",
            "name": "app_keys",
            "required": false,
            "schema": {
              "example": "email_filters",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_information_for_applications",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Branding",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "additionalProperties": {
                            "description": "An object containing information about the queried `app_keys` application.\n\n**Note:**\n\nThe object's name is the value specified in the `app_keys` parameter.",
                            "properties": {
                              "condition": {
                                "description": "An object containing the application's conditions.",
                                "properties": {
                                  "feature": {
                                    "description": "The feature that the user must have access to in order to see the application in their cPanel *Home* interface.",
                                    "example": "blockers",
                                    "type": "string"
                                  },
                                  "if": {
                                    "description": "cPanel variables that determine whether to display the\nitem, if any exist.\n\nFor example, `$isreseller` indicates that the item **only**\ndisplays for reseller accounts.\n\nFor more information, read our\n[Guide to cPanel Variables](https://go.cpanel.net/guidetovariables)\ndocumentation.",
                                    "example": "!$isarchiveuser",
                                    "type": "string"
                                  },
                                  "module": {
                                    "description": "The name of the module that provides the application.",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "description": {
                                "description": "The application's display name.",
                                "example": "Email Filters",
                                "type": "string"
                              },
                              "icon": {
                                "description": "The application's icon information.",
                                "properties": {
                                  "height": {
                                    "description": "The application's icon's height, in pixels.",
                                    "example": 32,
                                    "minimum": 1,
                                    "type": "integer"
                                  },
                                  "url": {
                                    "description": "The file path or URL location of the application's icon.",
                                    "example": "email_filters",
                                    "format": "url-path",
                                    "type": "string"
                                  },
                                  "width": {
                                    "description": "The application's icon's width, in pixels.",
                                    "example": 35,
                                    "minimum": 1,
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "implements": {
                                "description": "The module namespace for the specific application.",
                                "example": "Email_UserLevelFiltering",
                                "type": "string"
                              },
                              "key": {
                                "description": "The application's Appkey name.",
                                "example": "email_filters",
                                "type": "string"
                              },
                              "name": {
                                "description": "The application's name.",
                                "example": "Email Filters",
                                "type": "string"
                              },
                              "order": {
                                "description": "The application's order in the `sitemap.json` file. This value represents the application's display order in cPanel's *Home* interface.",
                                "example": 4,
                                "minimum": 1,
                                "type": "integer"
                              },
                              "terms": {
                                "description": "Search keywords for the application.",
                                "example": [
                                  "email",
                                  "filter",
                                  "filters"
                                ],
                                "items": {
                                  "type": "string"
                                }
                              },
                              "type": {
                                "description": "The application's type.\n\n`item` is the only possible value.",
                                "enum": [
                                  "item"
                                ],
                                "example": "item",
                                "type": "string"
                              },
                              "url": {
                                "description": "The file path or URL to the the application's file.",
                                "example": "mail/filters/userfilters.html",
                                "format": "url-path",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return app's info from sitemap.json",
        "tags": [
          "Branding",
          "Application Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Branding \\\n  get_information_for_applications \\\n  docroot='/usr/local/cpanel/base/webmail/jupiter'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Branding/get_information_for_applications?docroot=%2fusr%2flocal%2fcpanel%2fbase%2fwebmail%2fpaper_lantern"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Branding_get_information_for_applications.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Branding_get_information_for_applications.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Branding/,\n    q/get_information_for_applications/,\n    {\n        'docroot' => '/usr/local/cpanel/base/webmail/jupiter',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Branding_get_information_for_applications.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Branding_get_information_for_applications.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Branding',\n    'get_information_for_applications',\n    array (\n        'docroot' => '/usr/local/cpanel/base/webmail/jupiter',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/Branding/include": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves and renders a branding file from the active theme.\nThe file may be a Template Toolkit (`.tt`) file or a standard HTML/image\nfile. When the file is a Template Toolkit file, the system processes it\nand returns the rendered output. Otherwise, the system returns the file's\nraw or HTML-encoded content.",
        "operationId": "Branding-include",
        "parameters": [
          {
            "description": "The relative path to the branding file within the theme directory.",
            "examples": {
              "tt_file": {
                "summary": "Include a Template Toolkit branding file.",
                "value": "header.tt"
              },
              "html_file": {
                "summary": "Include a standard HTML branding file.",
                "value": "header.html"
              }
            },
            "in": "query",
            "name": "file",
            "required": true,
            "schema": {
              "example": "header.tt",
              "type": "string"
            }
          },
          {
            "description": "A JSON-encoded object containing additional variables to pass to the\nTemplate Toolkit template when rendering a `.tt` file. This parameter\nis ignored for non-template files.",
            "in": "query",
            "name": "data",
            "required": false,
            "schema": {
              "example": "{\"logoColor\":\"blue\",\"showBanner\":1}",
              "format": "json",
              "type": "string"
            }
          },
          {
            "description": "Whether to return the raw file content without HTML encoding.\n\n* `1` — Return the raw file content.\n* `0` — Return HTML-encoded content. This is the default behavior.\n\nThis parameter has no effect when the file is a Template Toolkit (`.tt`) file.",
            "in": "query",
            "name": "raw",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether to skip the default branding fallback.\n\n* `1` — Do not fall back to the default branding file if the theme-specific\n  file does not exist. This parameter has no effect for accounts that do not\n  have a branding package assigned; the theme fallback is always applied in\n  that case.\n* `0` — Fall back to the default branding file. This is the default behavior.",
            "in": "query",
            "name": "skip_default",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "include",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Branding",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The rendered or retrieved content of the requested branding file.\nFor Template Toolkit files, this is the processed template output.\nFor other files, this is the raw or HTML-encoded file content.",
                          "example": "<div class=\"header\">Welcome</div>",
                          "nullable": true,
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return branding file content from the active theme",
        "tags": [
          "Branding",
          "Branding Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Branding \\\n  include \\\n  file='header.tt'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Branding/include?file=header.tt"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Branding_include.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Branding_include.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Branding/,\n    q/include/,\n    {\n        'file' => 'header.tt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print $data;\n}\nelse {\n    # Report errors:\n    use JSON;\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Branding_include.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Branding_include.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Branding',\n    'include',\n    array (\n        'file' => 'header.tt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print $data;\n}\nelse {\n    // Report errors:\n    print json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/CCS/add_delegate": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function delegates a user's calendar to another user.\n\n**Note:**\n\nYou **must** install the [Calendar and Contacts Server](https://go.cpanel.net/CalendarAndContactsServer) cPanel plugin to access this API function.",
        "operationId": "CCS-add_delegate",
        "parameters": [
          {
            "description": "The user to whom you wish to delegate the calendar.",
            "in": "query",
            "name": "delegatee",
            "required": true,
            "schema": {
              "example": "delegatee@cptest.test",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The calendar's owner.",
            "in": "query",
            "name": "delegator",
            "required": true,
            "schema": {
              "example": "delegator@cptest.test",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "Whether the delegatee will only have read-only access on the calendar.\n* `1` - Read-only access.\n* `0` - Full access.",
            "in": "query",
            "name": "readonly",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                1,
                0
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_delegate",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CCS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add calendar delegation",
        "tags": [
          "CCS",
          "Calendar and Contacts Server"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CCS \\\n  add_delegate \\\n  delegator='delegator@cptest.test' \\\n  delegatee='delegatee@cptest.test'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CCS/add_delegate?delegator=delegator%40cptest.test&delegatee=delegatee%40cptest.test"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CCS_add_delegate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CCS_add_delegate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CCS/,\n    q/add_delegate/,\n    {\n        'delegator' => 'delegator@cptest.test',\n        'delegatee' => 'delegatee@cptest.test',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CCS_add_delegate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CCS_add_delegate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CCS',\n    'add_delegate',\n    array (\n        'delegator' => 'delegator@cptest.test',\n        'delegatee' => 'delegatee@cptest.test',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 90",
        "x-cpanel-minimum-compatible-version": 80,
        "x-cpanel-rpm": "cpanel-ccs-calendarserver",
        "x-cpanel-rpm-version": 69
      }
    },
    "/CCS/list_delegates": {
      "get": {
        "x-readonly": true,
        "description": "This function lists all [calendar delegates](https://docs.cpanel.net/cpanel/email/calendar-delegation/) on the cPanel account.\n\n**Note:**\n\nYou **must** install the [Calendar and Contacts Server](https://go.cpanel.net/CalendarAndContactsServer) cPanel plugin to access this API function.",
        "operationId": "CCS-list_delegates",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_delegates",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CCS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that contain Calendars and Contacts Server calendar delegation information.",
                          "items": {
                            "properties": {
                              "delegatee": {
                                "description": "The user with delegation rights.",
                                "example": "delegatee@cptest.test",
                                "format": "email",
                                "type": "string"
                              },
                              "delegator": {
                                "description": "The calendar's owner.",
                                "example": "delegator@cptest.test",
                                "format": "email",
                                "type": "string"
                              },
                              "read_only": {
                                "description": "Whether the delegatee has read-only access on the calendar.\n* `1` - Read-only access.\n* `0` - Full access.",
                                "enum": [
                                  1,
                                  0
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "List cPanel account's calendar delegates",
        "tags": [
          "CCS",
          "Calendar and Contacts Server"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CCS \\\n  list_delegates\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CCS/list_delegates"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CCS_list_delegates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CCS_list_delegates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CCS/,\n    q/list_delegates/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CCS_list_delegates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CCS_list_delegates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CCS',\n    'list_delegates'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 90"
      }
    },
    "/CCS/list_users": {
      "get": {
        "x-readonly": true,
        "description": "This function lists all calendar users on the cPanel account.\n\n**Note:**\n\nYou **must** install the [Calendar and Contacts Server](https://go.cpanel.net/CalendarAndContactsServer) cPanel plugin to access this API function.",
        "operationId": "CCS-list_users",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_users",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CCS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "additionalProperties": {
                            "description": "The user account's [universally unique identifier](https://en.wikipedia.org/wiki/Universally_unique_identifier) (UUID). The user account's name is the return's name."
                          },
                          "example": {
                            "user1@example.com": "0882362A-0B98-11E8-BAF5-D988266709C1",
                            "user2@example.com": "96F1EB2F-A501-11EA-A3EF-A553B2E4FFA8",
                            "user3@example.com": "195C8A51-E1B3-11E6-8715-F54FA4E00DDD",
                            "user4@example.com": "028F4AB1-0F1A-11E7-AEC7-E08FECEC8036"
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "List cPanel account's calendar users",
        "tags": [
          "CCS",
          "Calendar and Contacts Server"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CCS \\\n  list_users\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CCS/list_users"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CCS_list_users.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CCS_list_users.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CCS/,\n    q/list_users/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CCS_list_users.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CCS_list_users.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CCS',\n    'list_users'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 90"
      }
    },
    "/CCS/remove_delegate": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function removes a delegate from another user's calendar.\n\n**Note:**\n\nYou **must** install the [Calendar and Contacts Server](https://go.cpanel.net/CalendarAndContactsServer) cPanel plugin to access this API function.",
        "operationId": "CCS-remove_delegate",
        "parameters": [
          {
            "description": "The user from whom you wish to remove delegation rights.",
            "in": "query",
            "name": "delegatee",
            "required": true,
            "schema": {
              "example": "user2@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The calendar's owner.",
            "in": "query",
            "name": "delegator",
            "required": true,
            "schema": {
              "example": "user1@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "remove_delegate",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CCS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove calendar delegation",
        "tags": [
          "CCS",
          "Calendar and Contacts Server"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CCS \\\n  remove_delegate \\\n  delegator='user1@example.com' \\\n  delegatee='user2@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CCS/remove_delegate?delegator=user1%40example.com&delegatee=user2%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CCS_remove_delegate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CCS_remove_delegate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CCS/,\n    q/remove_delegate/,\n    {\n        'delegator' => 'user1@example.com',\n        'delegatee' => 'user2@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CCS_remove_delegate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CCS_remove_delegate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CCS',\n    'remove_delegate',\n    array (\n        'delegator' => 'user1@example.com',\n        'delegatee' => 'user2@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 90"
      }
    },
    "/CCS/update_delegate": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function updates the delegation of a user's calendar to another user.\n\n**Note:**\n\nYou **must** install the [Calendar and Contacts Server](https://go.cpanel.net/CalendarAndContactsServer) cPanel plugin to access this API function.",
        "operationId": "CCS-update_delegate",
        "parameters": [
          {
            "description": "The user to whom you delegated the calendar.",
            "in": "query",
            "name": "delegatee",
            "required": true,
            "schema": {
              "example": "user2@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The calendar's owner.",
            "in": "query",
            "name": "delegator",
            "required": true,
            "schema": {
              "example": "user1@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "Whether the delegatee will only have read-only access on the calendar.\n* `1` - Read-only access.\n* `0` - Full access.",
            "in": "query",
            "name": "readonly",
            "required": false,
            "schema": {
              "default": 0,
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "update_delegate",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CCS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update calendar delegation",
        "tags": [
          "CCS",
          "Calendar and Contacts Server"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CCS \\\n  update_delegate \\\n  delegator='user1@example.com' \\\n  delegatee='user2@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CCS/update_delegate?delegator=user1%40example.com&delegatee=user2%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CCS_update_delegate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CCS_update_delegate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CCS/,\n    q/update_delegate/,\n    {\n        'delegator' => 'user1@example.com',\n        'delegatee' => 'user2@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CCS_update_delegate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CCS_update_delegate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CCS',\n    'update_delegate',\n    array (\n        'delegator' => 'user1@example.com',\n        'delegatee' => 'user2@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 90"
      }
    },
    "/CPDAVD/add_delegate": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function adds a share for the specified calendar.",
        "operationId": "CPDAVD-add_delegate",
        "parameters": [
          {
            "description": "The calendar to share.",
            "in": "query",
            "name": "calendar",
            "required": true,
            "schema": {
              "example": "calendar",
              "type": "string"
            }
          },
          {
            "description": "The person to whom you will share the calendar.",
            "in": "query",
            "name": "delegatee",
            "required": true,
            "schema": {
              "example": "second@example.com",
              "type": "string"
            }
          },
          {
            "description": "The owner of the calendar, who wishes to share it to another user.",
            "in": "query",
            "name": "delegator",
            "required": true,
            "schema": {
              "example": "first@example.com",
              "type": "string"
            }
          },
          {
            "description": "If set, the provided access will be read-only.",
            "in": "query",
            "name": "readonly",
            "required": false,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_delegate",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CPDAVD",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "shared": {
                              "description": "Whether the sharing succeeded.\n* `1` — Shared.\n* `0` — **Not** shared.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Share a calendar",
        "tags": [
          "DAV",
          "Calendar and Contacts (DAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CPDAVD \\\n  add_delegate \\\n  delegator='first@example.com' \\\n  delegatee='second@example.com' \\\n  calendar='calendar'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CPDAVD/add_delegate?delegator=first%40example.com&delegatee=second%40example.com&calendar=calendar"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CPDAVD_add_delegate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CPDAVD_add_delegate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CPDAVD/,\n    q/add_delegate/,\n    {\n        'delegator' => 'first@example.com',\n        'delegatee' => 'second@example.com',\n        'calendar' => 'calendar',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CPDAVD_add_delegate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CPDAVD_add_delegate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CPDAVD',\n    'add_delegate',\n    array (\n        'delegator' => 'first@example.com',\n        'delegatee' => 'second@example.com',\n        'calendar' => 'calendar',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 120"
      }
    },
    "/CPDAVD/list_delegates": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the sharing configuration in calendars for this account.",
        "operationId": "CPDAVD-list_delegates",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_delegates",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CPDAVD",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "calendar": {
                                "description": "The calendar id.",
                                "example": "calendar",
                                "type": "string"
                              },
                              "calname": {
                                "description": "The name of the calendar.",
                                "example": "cPanel CalDAV Calendar",
                                "type": "string"
                              },
                              "delegatee": {
                                "description": "The person to whom the owner of the calendar shared it.",
                                "example": "second@example.com",
                                "type": "string"
                              },
                              "delegator": {
                                "description": "The owner of the calendar.",
                                "example": "first@example.com",
                                "type": "string"
                              },
                              "readonly": {
                                "description": "If set to `1`, the `delegatee` only has read access to the calendar.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "List calendar sharing.",
        "tags": [
          "DAV",
          "Calendar and Contacts (DAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CPDAVD \\\n  list_delegates\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CPDAVD/list_delegates"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CPDAVD_list_delegates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CPDAVD_list_delegates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CPDAVD/,\n    q/list_delegates/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CPDAVD_list_delegates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CPDAVD_list_delegates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CPDAVD',\n    'list_delegates'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 120"
      }
    },
    "/CPDAVD/list_users": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the users that are available for use with CalDAV and CardDAV",
        "operationId": "CPDAVD-list_users",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_users",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CPDAVD",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "additionalProperties": {
                              "additionalProperties": {
                                "description": "The name of this property is the collection id.",
                                "properties": {
                                  "calendar-color": {
                                    "description": "For calendars only: The color to use for calendar events.",
                                    "example": "#ee5555",
                                    "type": "string"
                                  },
                                  "description": {
                                    "description": "The description of the collection.",
                                    "type": "string"
                                  },
                                  "displayname": {
                                    "description": "The name of the collection.",
                                    "type": "string"
                                  },
                                  "protected": {
                                    "description": "If this value is `1`, then the collection cannot be deleted through the API.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "description": "The type of the collection.",
                                    "enum": [
                                      "VADDRESSBOOK",
                                      "VCALENDAR",
                                      "VTODO"
                                    ],
                                    "example": "VCALENDAR",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "The name of this property is the principal name.",
                              "type": "object"
                            },
                            "example": {
                              "someone@example.com": {
                                "addressbook": {
                                  "description": "Default Address Book automatically created for your account.",
                                  "displayname": "cPanel CardDAV Address Book",
                                  "protected": 1,
                                  "type": "VADDRESSBOOK"
                                },
                                "calendar": {
                                  "calendar-color": "#ff6c2c",
                                  "description": "Default Calendar automatically created for your account.",
                                  "displayname": "cPanel CalDAV Calendar",
                                  "protected": 1,
                                  "type": "VCALENDAR"
                                }
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "List CalDAV and CardDAV users",
        "tags": [
          "DAV",
          "Calendar and Contacts (DAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CPDAVD \\\n  list_users\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CPDAVD/list_users"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CPDAVD_list_users.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CPDAVD_list_users.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CPDAVD/,\n    q/list_users/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CPDAVD_list_users.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CPDAVD_list_users.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CPDAVD',\n    'list_users'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 120"
      }
    },
    "/CPDAVD/manage_collection": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates, updates, or deletes a collection.",
        "operationId": "CPDAVD-manage_collection",
        "parameters": [
          {
            "description": "The owner of the calendar.",
            "in": "query",
            "name": "account",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "type": "string"
            }
          },
          {
            "description": "The action to perform (create, update, or delete a collection).",
            "in": "query",
            "name": "action",
            "required": true,
            "schema": {
              "enum": [
                "create",
                "update",
                "delete"
              ],
              "example": "delete",
              "type": "string"
            }
          },
          {
            "description": "The collection type.",
            "in": "query",
            "name": "collection_type",
            "required": true,
            "schema": {
              "enum": [
                "calendar",
                "tasks",
                "addressbook"
              ],
              "example": "calendar",
              "type": "string"
            }
          },
          {
            "description": "The path to the collection.",
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "example": "/calendars/user@example.com/mycalendar",
              "type": "string"
            }
          },
          {
            "description": "The color of the calendar, if applicable.",
            "in": "query",
            "name": "calendar-color",
            "required": false,
            "schema": {
              "example": "#ee5555",
              "type": "string"
            }
          },
          {
            "description": "The description of the collection.",
            "in": "query",
            "name": "description",
            "schema": {
              "example": "This is my calendar.",
              "type": "string"
            }
          },
          {
            "description": "The name of the collection. Required when creating a collection.",
            "in": "query",
            "name": "name",
            "schema": {
              "example": "My Calendar",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "manage_collection",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CPDAVD",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "shared": {
                              "description": "Whether the operation succeeded.\n* `1` — Operation succeeded.\n* `0` — Operation did **not** succeed.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Manage a calendar, task list, or address book",
        "tags": [
          "DAV",
          "Calendar and Contacts (DAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CPDAVD \\\n  manage_collection \\\n  account='user@example.com' \\\n  action='delete' \\\n  path='/calendars/user@example.com/mycalendar' \\\n  collection_type='calendar'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CPDAVD/manage_collection?account=user%40example.com&action=delete&path=%2fcalendars%2fuser%40example.com%2fmycalendar&collection_type=calendar"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CPDAVD_manage_collection.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CPDAVD_manage_collection.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CPDAVD/,\n    q/manage_collection/,\n    {\n        'account' => 'user@example.com',\n        'action' => 'delete',\n        'path' => '/calendars/user@example.com/mycalendar',\n        'collection_type' => 'calendar',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CPDAVD_manage_collection.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CPDAVD_manage_collection.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CPDAVD',\n    'manage_collection',\n    array (\n        'account' => 'user@example.com',\n        'action' => 'delete',\n        'path' => '/calendars/user@example.com/mycalendar',\n        'collection_type' => 'calendar',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 120"
      }
    },
    "/CPDAVD/remove_delegate": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function removes a share for the specified calendar.",
        "operationId": "CPDAVD-remove_delegate",
        "parameters": [
          {
            "description": "The calendar that was shared.",
            "in": "query",
            "name": "calendar",
            "required": true,
            "schema": {
              "example": "calendar",
              "type": "string"
            }
          },
          {
            "description": "The person to whom the calendar was shared.",
            "in": "query",
            "name": "delegatee",
            "required": true,
            "schema": {
              "example": "second@example.com",
              "type": "string"
            }
          },
          {
            "description": "The owner of the calendar, who wishes to remove the sharing.",
            "in": "query",
            "name": "delegator",
            "required": true,
            "schema": {
              "example": "first@example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "remove_delegate",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CPDAVD",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "shared": {
                              "description": "Whether the sharing removal succeeded.\n* `1` — Removed.\n* `0` — **Not** removed.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove a share.",
        "tags": [
          "DAV",
          "Calendar and Contacts (DAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CPDAVD \\\n  remove_delegate \\\n  delegator='first@example.com' \\\n  delegatee='second@example.com' \\\n  calendar='calendar'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CPDAVD/remove_delegate?delegator=first%40example.com&delegatee=second%40example.com&calendar=calendar"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CPDAVD_remove_delegate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CPDAVD_remove_delegate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CPDAVD/,\n    q/remove_delegate/,\n    {\n        'delegator' => 'first@example.com',\n        'delegatee' => 'second@example.com',\n        'calendar' => 'calendar',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CPDAVD_remove_delegate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CPDAVD_remove_delegate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CPDAVD',\n    'remove_delegate',\n    array (\n        'delegator' => 'first@example.com',\n        'delegatee' => 'second@example.com',\n        'calendar' => 'calendar',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 120"
      }
    },
    "/CPDAVD/update_delegate": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function updates a share for the specified calendar.",
        "operationId": "CPDAVD-update_delegate",
        "parameters": [
          {
            "description": "The calendar to share.",
            "in": "query",
            "name": "calendar",
            "required": true,
            "schema": {
              "example": "calendar",
              "type": "string"
            }
          },
          {
            "description": "The person to whom you will share the calendar.",
            "in": "query",
            "name": "delegatee",
            "required": true,
            "schema": {
              "example": "second@example.com",
              "type": "string"
            }
          },
          {
            "description": "The owner of the calendar, who wishes to change the details of the sharing.",
            "in": "query",
            "name": "delegator",
            "required": true,
            "schema": {
              "example": "first@example.com",
              "type": "string"
            }
          },
          {
            "description": "If set, the provided access will be read-only.",
            "in": "query",
            "name": "readonly",
            "required": false,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "update_delegate",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CPDAVD",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "shared": {
                              "description": "Whether the sharing succeeded.\n* `1` — Shared.\n* `0` — **Not** shared.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update calendar sharing.",
        "tags": [
          "DAV",
          "Calendar and Contacts (DAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CPDAVD \\\n  update_delegate \\\n  delegator='first@example.com' \\\n  delegatee='second@example.com' \\\n  calendar='calendar'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CPDAVD/update_delegate?delegator=first%40example.com&delegatee=second%40example.com&calendar=calendar"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CPDAVD_update_delegate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CPDAVD_update_delegate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CPDAVD/,\n    q/update_delegate/,\n    {\n        'delegator' => 'first@example.com',\n        'delegatee' => 'second@example.com',\n        'calendar' => 'calendar',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CPDAVD_update_delegate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CPDAVD_update_delegate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CPDAVD',\n    'update_delegate',\n    array (\n        'delegator' => 'first@example.com',\n        'delegatee' => 'second@example.com',\n        'calendar' => 'calendar',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 120"
      }
    },
    "/CSVImport/doimport": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function imports email accounts from an already uploaded CSV file.",
        "operationId": "CSVImport-doimport",
        "parameters": [
          {
            "description": "The domain under which to add the email accounts.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The unique ID of the import operation. The cPanel API 2 CSVImport::uploadimport function generates this ID and stores it in the `CPVAR` attribute named `csvimportid`.",
            "in": "query",
            "name": "id",
            "required": true,
            "schema": {
              "example": "Leq58oid3sF3Moye3_YbJGqoMvCb7M4j",
              "type": "string"
            }
          },
          {
            "description": "The type of email address to add.\n\n* `email` — A regular email account.\n* `fwd` — A forwarder.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "enum": [
                "email",
                "fwd"
              ],
              "example": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "doimport",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CSVImport",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "results": {
                              "description": "The results for each attempted add operation.",
                              "example": [
                                {
                                  "email": "j.doe@example.com",
                                  "reason": "OK",
                                  "status": 1,
                                  "type": "email"
                                },
                                {
                                  "email": "jdoe@example.com",
                                  "reason": "The account jdoe@example.com already exists!",
                                  "status": 0,
                                  "type": "email"
                                }
                              ],
                              "items": {
                                "properties": {
                                  "email": {
                                    "description": "The email address or forwarder.",
                                    "example": "j.doe@example.com",
                                    "format": "email",
                                    "type": "string"
                                  },
                                  "fwd": {
                                    "description": "The destination of the forwarder (if applicable).",
                                    "example": null,
                                    "format": "email",
                                    "nullable": true,
                                    "type": "string"
                                  },
                                  "reason": {
                                    "description": "The explanation of the outcome for each operation.",
                                    "type": "string"
                                  },
                                  "status": {
                                    "description": "The outcome of each operation.\n\n* `1` — Success.\n* `0` — Failed.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "type": "integer"
                                  },
                                  "type": {
                                    "description": "The type of email address.\n\n* `email` — A regular email account.\n* `fwd` — A forwarder.",
                                    "enum": [
                                      "email",
                                      "fwd"
                                    ],
                                    "example": "email",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": [
                            "1 error(s) were encountered while importing accounts."
                          ],
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success\n* `0` — Failed: One or more errors occurred. For errors related to individual account add operations, see the `reason` field in each record from `results` for more information.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 0,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Import email accounts from CSV file",
        "tags": [
          "CSVImport",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CSVImport \\\n  doimport \\\n  id='Leq58oid3sF3Moye3_YbJGqoMvCb7M4j' \\\n  type='email' \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CSVImport/doimport?id=Leq58oid3sF3Moye3_YbJGqoMvCb7M4j&type=email&domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CSVImport_doimport.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CSVImport_doimport.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CSVImport/,\n    q/doimport/,\n    {\n        'id' => 'Leq58oid3sF3Moye3_YbJGqoMvCb7M4j',\n        'type' => 'email',\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CSVImport_doimport.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CSVImport_doimport.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CSVImport',\n    'doimport',\n    array (\n        'id' => 'Leq58oid3sF3Moye3_YbJGqoMvCb7M4j',\n        'type' => 'email',\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 94"
      }
    },
    "/CacheBuster/read": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the current `CacheBuster` id. The system uses this ID to force the browser to fetch a new resource when that resource already exists in the web browser cache. This is useful when an application has updated the resource on the server. You should append this ID to the end of the url in the query-string. For example, if you are accessing a url like:\n\n`https://example.com/styled/basic/sprites/icon_spritemap.css`\n\n To force the browser to fetch the updated version, you would append the following:\n\n `https://example.com/styled/basic/sprites/icon_spritemap.css?<CacheBusterID>`\n\n **Note**\n\n The application that updates the resource at this url on the server **must** call the `CacheBuster::update` function when it updates the resource to signify that update.",
        "operationId": "CacheBuster-read",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "read",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CacheBuster",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "cache_id": {
                              "description": "An eight-digit random integer that the system uses to work around a browser's caching mechanism.",
                              "example": 11381138,
                              "maximum": 99999999,
                              "minimum": 10000000,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return web browser cached file override ID",
        "tags": [
          "CacheBuster",
          "Browser Cache Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CacheBuster \\\n  read\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CacheBuster/read"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CacheBuster_read.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CacheBuster_read.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CacheBuster/,\n    q/read/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CacheBuster_read.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CacheBuster_read.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CacheBuster',\n    'read'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.46"
      }
    },
    "/CacheBuster/update": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function generates a random integer (the CacheBuster ID). Use this ID to work with and around a browser's caching mechanism.",
        "operationId": "CacheBuster-update",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "update",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "CacheBuster",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "cache_id": {
                              "description": "random integer that the system uses to work with and around a browser's caching mechanism. An eight-digit integer.",
                              "example": 11381138,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create web browser cached file override ID",
        "tags": [
          "CacheBuster",
          "Browser Cache Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  CacheBuster \\\n  update\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/CacheBuster/update"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file CacheBuster_update.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/CacheBuster_update.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/CacheBuster/,\n    q/update/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file CacheBuster_update.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/CacheBuster_update.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'CacheBuster',\n    'update'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.46"
      }
    },
    "/Chkservd/get_exim_ports": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the ports on which Exim listens.",
        "operationId": "Chkservd-get_exim_ports",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_exim_ports",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Chkservd",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "ports": {
                              "description": "An array of port numbers on which Exim listens.",
                              "items": {
                                "example": 25,
                                "maximum": 65535,
                                "minimum": 1,
                                "type": "integer"
                              },
                              "type": "array",
                              "uniqueItems": true
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return outgoing (SMTP) mail port",
        "tags": [
          "Chkservd",
          "Mail Server Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Chkservd \\\n  get_exim_ports\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Chkservd/get_exim_ports"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Chkservd_get_exim_ports.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Chkservd_get_exim_ports.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Chkservd/,\n    q/get_exim_ports/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Chkservd_get_exim_ports.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Chkservd_get_exim_ports.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Chkservd',\n    'get_exim_ports'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Chkservd/get_exim_ports_ssl": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves Exim's SSL port.",
        "operationId": "Chkservd-get_exim_ports_ssl",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_exim_ports_ssl",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Chkservd",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "ports": {
                              "description": "An array of port numbers on which Exim listens for SSL/TLS connections.",
                              "items": {
                                "example": 465,
                                "maximum": 65535,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return outgoing mail (SMTP) SSL-secured port",
        "tags": [
          "Chkservd",
          "Mail Server Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Chkservd \\\n  get_exim_ports_ssl\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Chkservd/get_exim_ports_ssl"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Chkservd_get_exim_ports_ssl.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Chkservd_get_exim_ports_ssl.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Chkservd/,\n    q/get_exim_ports_ssl/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Chkservd_get_exim_ports_ssl.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Chkservd_get_exim_ports_ssl.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Chkservd',\n    'get_exim_ports_ssl'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Chrome/get_dom": {
      "get": {
        "x-readonly": true,
        "description": "This function returns header and footer HTML. You can use this HTML to create a page with the same visual appearance as your cPanel theme.",
        "operationId": "Chrome-get_dom",
        "parameters": [
          {
            "description": "The title of the page to wrap in the theme's headers and footers.",
            "in": "query",
            "name": "page_title",
            "required": true,
            "schema": {
              "example": "Test",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_dom",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Chrome",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "footer": {
                              "description": "The pages' footer.",
                              "example": "\n<!-- The Footer HTML of the user's assigned theme -->\n</html>\n\n",
                              "type": "string"
                            },
                            "header": {
                              "description": "The pages' header.",
                              "example": "\n\n<!DOCTYPE html>\n\n<html lang=\"en\" dir=\"ltr\">\n<!-- The Header HTML of the user's assigned theme -->",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel theme header and footer HTML",
        "tags": [
          "Chrome",
          "Brand Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Chrome \\\n  get_dom \\\n  page_title='Test'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Chrome/get_dom?page_title=Test"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Chrome_get_dom.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Chrome_get_dom.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Chrome/,\n    q/get_dom/,\n    {\n        'page_title' => 'Test',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Chrome_get_dom.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Chrome_get_dom.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Chrome',\n    'get_dom',\n    array (\n        'page_title' => 'Test',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/ClamScanner/check_disinfection_status": {
      "get": {
        "x-readonly": true,
        "description": "This function checks the status of the previously queued disinfection\nof infected files.\n\n**Note:**\n\nYou must run the APIs in this order:\n\n1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan.\n2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished.\n3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files.\n4. Decide how you want to handle each infected file.\n5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files.\n6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status.\n\nIf you want to display the progress, you can render the `ClamScanner::check_disinfection_status` returned 'result{data}{details}' array where the `type` is `step`.\n\nEach `step` record indicates the action taken on a specific file in the set being processed.",
        "operationId": "ClamScanner-check_disinfection_status",
        "parameters": [
          {
            "description": "The unique `id` of the message you last received from this same log.\n\nThe API will return only the records after the specified `last_id`.\n\nIf this parameter is not provided, the entire log is returned.\n\n**Note:**\n\nFor improved performance, we recommend applications include the last record ID (last_id)\nfrom a previous call to this API, so only messages since the previous API call are returned.",
            "in": "query",
            "name": "last_id",
            "schema": {
              "example": 10,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "check_disinfection_status",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ClamScanner",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "details": {
                              "description": "The list of events recorded in the log. If you pass the `last_id` parameter, only records in the log after that id are returned.",
                              "items": {
                                "oneOf": [
                                  {
                                    "properties": {
                                      "file": {
                                        "description": "The absolute path to the file.",
                                        "example": "/home/user/virus",
                                        "type": "string"
                                      },
                                      "id": {
                                        "description": "The task processing order.",
                                        "example": 2,
                                        "type": "number"
                                      },
                                      "message": {
                                        "description": "Optional message that may include more information about errors.",
                                        "type": "string"
                                      },
                                      "state": {
                                        "description": "The state of the step. It will be one of the following:\n\n* `deleted` - The file was deleted.\n* `error` - An error occurred while processing the file.\n* `mailbox-cleansed` - The mailbox was clear of viruses.\n* `no-action` - No action was taken on the file.\n* `quarantined` - The file was quarantined.",
                                        "enum": [
                                          "deleted",
                                          "error",
                                          "mailbox-cleansed",
                                          "no-action",
                                          "quarantined"
                                        ],
                                        "example": "deleted",
                                        "type": "string"
                                      },
                                      "type": {
                                        "description": "* `step` - Record about a single file being processes.",
                                        "enum": [
                                          "step"
                                        ],
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type",
                                      "state"
                                    ],
                                    "type": "object"
                                  },
                                  {
                                    "properties": {
                                      "id": {
                                        "description": "The task processing order.",
                                        "example": 2,
                                        "type": "number"
                                      },
                                      "message": {
                                        "description": "Optional message that may include more information about errors and warnings.",
                                        "type": "string"
                                      },
                                      "state": {
                                        "description": "The state of the issue. It will be one of the following:\n\n* `error` - An error occurred while starting or finishing the disinfection.\n* `warning` - A non-cricitcal problem occurred while starting or finishing the disinfection.",
                                        "enum": [
                                          "error",
                                          "warning"
                                        ],
                                        "example": "warning",
                                        "type": "string"
                                      },
                                      "type": {
                                        "description": "* `issue` - Record that the disinfection is complete for all files indicated.",
                                        "enum": [
                                          "issue"
                                        ],
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type",
                                      "state"
                                    ],
                                    "type": "object"
                                  },
                                  {
                                    "properties": {
                                      "id": {
                                        "description": "The task processing order.",
                                        "example": 2,
                                        "type": "number"
                                      },
                                      "message": {
                                        "description": "Optional message that may include more information about errors.",
                                        "type": "string"
                                      },
                                      "state": {
                                        "description": "The state of the step. It will be one of the following:\n\n* `error` - An error occurred while processing the file.\n* `info` - The message is information only.\n* `success` - The disinfection was successful.",
                                        "enum": [
                                          "error",
                                          "info",
                                          "success"
                                        ],
                                        "example": "success",
                                        "type": "string"
                                      },
                                      "type": {
                                        "description": "* `done` - Record that the disinfection is complete for all files indicated.",
                                        "enum": [
                                          "done"
                                        ],
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type"
                                    ],
                                    "type": "object"
                                  }
                                ]
                              },
                              "type": "array"
                            },
                            "log": {
                              "description": "Path to the disinfection log file. The log file will contain a list of JSON objects one per line.  If the last line includes `\"type\":\"done\"`, the file disinfection is complete.",
                              "example": "/home/user/.clamavconnector.disinfection.log",
                              "type": "string"
                            },
                            "status": {
                              "description": "* `done` - The disinfection is finished.\n* `none` - There is no disinfection scheduled.\n* `queued` - The disinfection is queued.\n* `running` - The disinfection is in progress.",
                              "enum": [
                                "done",
                                "queued",
                                "running"
                              ],
                              "example": "done",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Request disinfection process status",
        "tags": [
          "ClamScanner",
          "Antivirus Protection (ClamAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ClamScanner \\\n  check_disinfection_status\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ClamScanner/check_disinfection_status"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ClamScanner_check_disinfection_status.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ClamScanner_check_disinfection_status.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ClamScanner/,\n    q/check_disinfection_status/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ClamScanner_check_disinfection_status.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ClamScanner_check_disinfection_status.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ClamScanner',\n    'check_disinfection_status'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 94
      }
    },
    "/ClamScanner/disinfect_files": {
      "post": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function applies the disinfection option selected by the user\nfor each infected file.\n\n**Note:**\n\nYou must run the APIs in this order:\n\n1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan.\n2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished.\n3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files.\n4. Decide how you want to handle each infected file.\n5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files.\n6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status.",
        "operationId": "ClamScanner-disinfect_files",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "actions": {
                    "additionalProperties": {
                      "description": "The name of the property is a path to the file. The path may be either a full path to the file or a users home directory relative path to the file.\n\nThe value of the property is on of the following:\n\n* `cleanse_mailbox` — Cleanse the specified mailbox.\n* `delete` — Delete the file.\n* `quarantine` — Move the file to the quarantine directory.\n* `ignore` - Ignore the file.\n\n**Note**\n\nOnly include files that the scanner identified as containing a virus. All other file paths passed will be ignored.",
                      "enum": [
                        "cleanse_mailbox",
                        "delete",
                        "quarantine",
                        "ignore"
                      ],
                      "type": "string"
                    },
                    "description": "The user provides the actions to perform on each specific infected file found in the scan.",
                    "example": {
                      "home/unsure": "ignore",
                      "home/virus1": "delete",
                      "home/virus2": "quarantine"
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disinfect_files",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ClamScanner",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "log": {
                              "description": "Path to the disinfection log file. The log file will contain a list of JSON objects one per line.\n\nIf the last line is:\n\n`{ \"status\": \"done\" }`\n\nthe requested files with viruses have be handled as requested.  Use the /ClamScanner/check_disinfection_status\nAPI to check the status of a running or finished disinfection.",
                              "example": "/home/user/.clamavconnector.disinfection.log",
                              "type": "string"
                            },
                            "task_id": {
                              "description": "The Task Queue system's task ID number.",
                              "example": "00000000/5a9ec8dd4c345d",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Start disinfecting files with viruses",
        "tags": [
          "ClamScanner",
          "Antivirus Protection (ClamAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "echo '{\"home/unsure\":\"ignore\",\"home/virus1\":\"delete\",\"home/virus2\":\"quarantine\"}' | uapi --user=username --input=json --output=jsonpretty ClamScanner disinfect_files"
          },
          {
            "label": "HTTP Request (Wire Format)",
            "lang": "HTTP",
            "source": "POST /cpsess##########/execute/ClamScanner/disinfect_files HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 74\n\n{\"home/unsure\":\"ignore\",\"home/virus1\":\"delete\",\"home/virus2\":\"quarantine\"}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 94
      }
    },
    "/ClamScanner/get_scan_paths": {
      "get": {
        "x-readonly": true,
        "description": "This function gets the available local paths that a cPanel account is permitted to scan.\n\n**Note**:\n\nThe system determines the available scan types based on what the system administrator has set in WHM's [Configure ClamAV®](https://go.cpanel.net/configureclamavscanner) page.\n\n**Note**:\n\nYou must run the APIs in this order:\n\n1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan.\n2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished.\n3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files.\n4. Decide how you want to handle each infected file.\n5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files.\n6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status.",
        "operationId": "ClamScanner-get_scan_paths",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_scan_paths",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ClamScanner",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "id": {
                              "description": "The type of path\n* `home` — The cPanel account's entire home directory.\n* `mail` — The cPanel account's email directory.\n* `public_html` — The cPanel account's web directory.\n* `public_ftp` — The cPanel account's FTP directory.",
                              "enum": [
                                "home",
                                "mail",
                                "public_html",
                                "public_ftp"
                              ],
                              "example": "home",
                              "type": "string"
                            },
                            "message": {
                              "description": "Short description of the path",
                              "example": "Scan Entire Home Directory",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return virus scan types",
        "tags": [
          "ClamScanner",
          "Antivirus Protection (ClamAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ClamScanner \\\n  get_scan_paths\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ClamScanner/get_scan_paths"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ClamScanner_get_scan_paths.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ClamScanner_get_scan_paths.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ClamScanner/,\n    q/get_scan_paths/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ClamScanner_get_scan_paths.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ClamScanner_get_scan_paths.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ClamScanner',\n    'get_scan_paths'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 94"
      }
    },
    "/ClamScanner/get_scan_status": {
      "get": {
        "x-readonly": true,
        "description": "This function gets the status of a ClamAV® scan on a directory.\n\n**Note**:\n\nYou must run the APIs in this order:\n\n1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan.\n2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished.\n3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files.\n4. Decide how you want to handle each infected file.\n5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files.\n6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status.",
        "operationId": "ClamScanner-get_scan_status",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_scan_status",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ClamScanner",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "current_file": {
                              "description": "The current file being scanned.",
                              "example": "/home/username/afilename.txt",
                              "type": "string"
                            },
                            "infected_files": {
                              "description": "List of files scanned and found to be infected.",
                              "example": [
                                "/home/username/afile/witha/virus.txt",
                                "/home/username/we/gotcha.exe"
                              ],
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "scan_complete": {
                              "description": "Whether the last scan has completed.\n* `1` - scan has completed.\n* `0` - scan has **not** completed.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "scanned_file_count": {
                              "description": "The number of files already scanned.",
                              "example": 135,
                              "minimum": 0,
                              "type": "integer"
                            },
                            "scanned_file_size": {
                              "description": "The number of bytes of data scanned.",
                              "example": 6022,
                              "minimum": 0,
                              "type": "integer"
                            },
                            "time_started": {
                              "description": "The epoch timestamp of the beginning of the last scan.",
                              "example": "1608593571",
                              "minimum": 0,
                              "type": "string"
                            },
                            "total_file_count": {
                              "description": "The total number of files found to scan.",
                              "example": 135,
                              "minimum": 0,
                              "type": "integer"
                            },
                            "total_file_size_MiB": {
                              "description": "The total number of megabytes of data found to scan.",
                              "example": 3640222,
                              "minimum": 0,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Request virus scan status",
        "tags": [
          "ClamScanner",
          "Antivirus Protection (ClamAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ClamScanner \\\n  get_scan_status\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ClamScanner/get_scan_status"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ClamScanner_get_scan_status.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ClamScanner_get_scan_status.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ClamScanner/,\n    q/get_scan_status/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ClamScanner_get_scan_status.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ClamScanner_get_scan_status.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ClamScanner',\n    'get_scan_status'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 94"
      }
    },
    "/ClamScanner/list_infected_files": {
      "get": {
        "x-readonly": true,
        "description": "This function lists infected files from a ClamAV® virus scan.\n\n**Note**:\n\nYou must run the APIs in this order:\n\n1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan.\n2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished.\n3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files.\n4. Decide how you want to handle each infected file.\n5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files.\n6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status.",
        "operationId": "ClamScanner-list_infected_files",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_infected_files",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ClamScanner",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "file": {
                                "description": "An absolute path to the infected file on the system.",
                                "example": "/home/username/infected_file.txt",
                                "format": "path",
                                "type": "string"
                              },
                              "virus_type": {
                                "description": "A virus type.",
                                "example": "Eicar-Signature",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return infected file list",
        "tags": [
          "ClamScanner",
          "Antivirus Protection (ClamAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ClamScanner \\\n  list_infected_files\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ClamScanner/list_infected_files"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ClamScanner_list_infected_files.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ClamScanner_list_infected_files.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ClamScanner/,\n    q/list_infected_files/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ClamScanner_list_infected_files.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ClamScanner_list_infected_files.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ClamScanner',\n    'list_infected_files'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 94"
      }
    },
    "/ClamScanner/start_scan": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function starts a ClamAV® scan on a directory.\n\n**Note**:\n\nYou must run the APIs in this order:\n\n1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan.\n2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished.\n3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/ClamScanner-list-infected-files) to get a report of the complete list of infected files.\n4. Decide how you want to handle each infected file.\n5. Run [`ClamScanner::disinfect_files`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files.\n6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status.",
        "operationId": "ClamScanner-start_scan",
        "parameters": [
          {
            "description": "The type of directory to scan.\n\n* `home` — User's entire home directory\n* `mail` — User's email directory\n* `public_html` — User's web directory\n* `public_ftp` — User's ftp directory",
            "in": "query",
            "name": "scan_type",
            "required": true,
            "schema": {
              "enum": [
                "home",
                "mail",
                "public_html",
                "public_ftp"
              ],
              "example": "home"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "start_scan",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ClamScanner",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Start virus scan",
        "tags": [
          "ClamScanner",
          "Antivirus Protection (ClamAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ClamScanner \\\n  start_scan \\\n  scan_type='home'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ClamScanner/start_scan?scan_type=home"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ClamScanner_start_scan.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ClamScanner_start_scan.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ClamScanner/,\n    q/start_scan/,\n    {\n        'scan_type' => 'home',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ClamScanner_start_scan.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ClamScanner_start_scan.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ClamScanner',\n    'start_scan',\n    array (\n        'scan_type' => 'home',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 94"
      }
    },
    "/ContactInformation/get_notification_preferences": {
      "get": {
        "x-readonly": true,
        "description": "Use this function to get a cPanel or Webmail account's notification preferences.",
        "operationId": "ContactInformation-get_notification_preferences",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_notification_preferences",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ContactInformation",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects describing the cPanel or Webmail account's notification preferences.",
                          "items": {
                            "properties": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "descp": {
                                "description": "A description of the notification setting.",
                                "example": "Someone logs in to my account.",
                                "type": "string"
                              },
                              "enabled": {
                                "description": "- 1 - Notification is enabled\n- 0 - Notification is disabled",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "name": {
                                "description": "The notification preference key name.",
                                "example": "notify_account_login",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Request was successful."
          }
        },
        "summary": "Return the account's notification preferences.",
        "tags": [
          "ContactInformation",
          "Contact Information",
          "notifications"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ContactInformation \\\n  get_notification_preferences\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ContactInformation/get_notification_preferences"
          }
        ],
        "x-cpanel-api-version": "UAPI"
      }
    },
    "/ContactInformation/get_pushbullet_access_token": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function retrieves the cPanel account's Pushbullet™ access token.",
        "operationId": "ContactInformation-get_pushbullet_access_token",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_pushbullet_access_token",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ContactInformation",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The cPanel account's Pushbullet access token.",
                          "type": "string",
                          "example": "a1b2c3d4e5f6g7h8i9j0"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API call.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Request was successful."
          }
        },
        "summary": "Return Pushbullet access token",
        "tags": [
          "ContactInformation",
          "Contact Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ContactInformation \\\n  get_pushbullet_access_token\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ContactInformation/get_pushbullet_access_token"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ContactInformation_get_pushbullet_access_token.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ContactInformation_get_pushbullet_access_token.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ContactInformation/,\n    q/get_pushbullet_access_token/,\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ContactInformation_get_pushbullet_access_token.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ContactInformation_get_pushbullet_access_token.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ContactInformation',\n    'get_pushbullet_access_token',\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 130
      }
    },
    "/ContactInformation/set_email_addresses": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "Use this function to set an account's contact email address(es).\n\nTo unset all contact email addresses, call `unset_email_addresses`.",
        "operationId": "ContactInformation-set_email_addresses",
        "parameters": [
          {
            "description": "The account’s new contact email addresses.",
            "example": [
              "foo@example.com",
              "bar@example.com"
            ],
            "explode": true,
            "in": "query",
            "name": "address",
            "required": true,
            "schema": {
              "items": {
                "format": "email",
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "The account’s existing contact email addresses.\n\nIf this list does not match the account’s current current email address(es),\nthen the request will fail. This control is here to prevent\nrace conditions.",
            "example": [
              "old1@example.com"
            ],
            "explode": true,
            "in": "query",
            "name": "old_address",
            "required": true,
            "schema": {
              "items": {
                "format": "email",
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "The account’s password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "q1df%D9<z0ShqdxRP%^",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_email_addresses",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ContactInformation",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Request was successful."
          }
        },
        "summary": "Set contact email address(es)",
        "tags": [
          "ContactInformation",
          "Contact Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ContactInformation \\\n  set_email_addresses \\\n  address='foo@example.com' address='bar@example.com' \\\n  old_address='old1@example.com' \\\n  password='q1df%D9<z0ShqdxRP%^'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ContactInformation/set_email_addresses?address=foo%40example.com&address=bar%40example.com&old_address=old1%40example.com&password=q1df%25D9%3cz0ShqdxRP%25%5e"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ContactInformation_set_email_addresses.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ContactInformation_set_email_addresses.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ContactInformation/,\n    q/set_email_addresses/,\n    {\n        'address' => 'foo@example.com'&address='bar@example.com',\n        'old_address' => 'old1@example.com',\n        'password' => 'q1df%D9<z0ShqdxRP%^',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ContactInformation_set_email_addresses.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ContactInformation_set_email_addresses.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ContactInformation',\n    'set_email_addresses',\n    array (\n        'address' => 'foo@example.com'&address='bar@example.com',\n        'old_address' => 'old1@example.com',\n        'password' => 'q1df%D9<z0ShqdxRP%^',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 102
      }
    },
    "/ContactInformation/set_notification_preferences": {
      "post": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "Use this function to set the logged in cPanel or Webmail account's notification preferences.\n\n**Note:**\n\nTo set a cPanel account's notification email address, call `set_email_addresses`. To return the list of account notification\npreferences you can set with `set_notification_preferences`, call `get_notification_preferences`.",
        "operationId": "ContactInformation-set_notification_preferences",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "examples": {
                "two": {
                  "summary": "An example showing how to set two account notification preferences.",
                  "value": {
                    "preferences": {
                      "notify_account_authn_link": "0",
                      "notify_account_login": "1"
                    }
                  }
                }
              },
              "schema": {
                "properties": {
                  "preferences": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_notification_preferences",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ContactInformation",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of cPanel and Webmail account notification preferences, including the newly-set preferences.",
                          "items": {
                            "properties": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "descp": {
                                "description": "A description of the notification setting.",
                                "example": "Someone logs in to my account.",
                                "type": "string"
                              },
                              "enabled": {
                                "description": "- 1 - Notification is enabled\n- 0 - Notification is disabled",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "name": {
                                "description": "The notification preference key name.",
                                "example": "notify_account_login",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Request was successful."
          }
        },
        "summary": "Set the account's notification preferences.",
        "tags": [
          "ContactInformation",
          "Contact Information",
          "notifications"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "echo '{\"preferences\": { \"notify_account_authn_link\": 1 }}' | \\\n  uapi --output=jsonpretty \\\n  --user=muser \\\n  --input=json \\\n  ContactInformation \\\n  set_notification_preferences\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ContactInformation/set_notification_preferences"
          }
        ],
        "x-cpanel-api-version": "UAPI"
      }
    },
    "/ContactInformation/set_pushbullet_access_token": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function updates the cPanel account's Pushbullet™ access token.",
        "operationId": "ContactInformation-set_pushbullet_access_token",
        "parameters": [
          {
            "description": "The account’s new Pushbullet access token.",
            "explode": true,
            "in": "query",
            "name": "pushbullet_access_token",
            "required": true,
            "schema": {
              "example": "a1b2c3d4e5f6g7h8i9j0",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_pushbullet_access_token",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ContactInformation",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Request was successful."
          }
        },
        "summary": "Update Pushbullet access token",
        "tags": [
          "ContactInformation",
          "Contact Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ContactInformation \\\n  set_pushbullet_access_token \\\n  pushbullet_access_token='a1b2c3d4e5f6g7h8i9j0'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ContactInformation/set_pushbullet_access_token?pushbullet_access_token=a1b2c3d4e5f6g7h8i9j0"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ContactInformation_set_pushbullet_access_token.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ContactInformation_set_pushbullet_access_token.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ContactInformation/,\n    q/set_pushbullet_access_token/,\n    {\n        'pushbullet_access_token' => 'a1b2c3d4e5f6g7h8i9j0',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ContactInformation_set_pushbullet_access_token.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ContactInformation_set_pushbullet_access_token.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ContactInformation',\n    'set_pushbullet_access_token',\n    array (\n        'pushbullet_access_token' => 'a1b2c3d4e5f6g7h8i9j0',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 130
      }
    },
    "/ContactInformation/unset_email_addresses": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "Use this function to unset all contact email address for an account.\n\nTo set contact email address(es), call `set_email_addresses`.",
        "operationId": "ContactInformation-unset_email_addresses",
        "parameters": [
          {
            "description": "The account’s existing contact email addresses.\n\nIf this list does not match the account’s current current email address(es),\nthen the request will fail. This control is here to prevent\nrace conditions.",
            "example": [
              "old1@example.com"
            ],
            "explode": true,
            "in": "query",
            "name": "old_address",
            "required": true,
            "schema": {
              "items": {
                "format": "email",
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "The account’s password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "q1df%D9<z0ShqdxRP%^",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "create",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DynamicDNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Request was successful."
          }
        },
        "summary": "Unset contact email addresses",
        "tags": [
          "ContactInformation",
          "Contact Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ContactInformation \\\n  unset_email_addresses \\\n  old_address='old1@example.com' \\\n  password='q1df%D9<z0ShqdxRP%^'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ContactInformation/unset_email_addresses?old_address=old1%40example.com&password=q1df%25D9%3cz0ShqdxRP%25%5e"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ContactInformation_unset_email_addresses.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ContactInformation_unset_email_addresses.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ContactInformation/,\n    q/unset_email_addresses/,\n    {\n        'old_address' => 'old1@example.com',\n        'password' => 'q1df%D9<z0ShqdxRP%^',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ContactInformation_unset_email_addresses.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ContactInformation_unset_email_addresses.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ContactInformation',\n    'unset_email_addresses',\n    array (\n        'old_address' => 'old1@example.com',\n        'password' => 'q1df%D9<z0ShqdxRP%^',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 102
      }
    },
    "/Contactus/is_enabled": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether the cPanel account can contact their hosting provider from the cPanel interface.",
        "operationId": "Contactus-is_enabled",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "is_enabled",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Contactus",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "enabled": {
                              "description": "Whether the cPanel account can contact their hosting provider\nfrom the cPanel interface.\n\n* `1` — The cPanel account can contact their hosting provider\nfrom the cPanel interface.\n* `0` — The cPanel account **cannot** contact their hosting\nprovider from the cPanel interface.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether contact option is enabled",
        "tags": [
          "Contactus",
          "Contact Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Contactus \\\n  is_enabled\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Contactus/is_enabled"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Contactus_is_enabled.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Contactus_is_enabled.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Contactus/,\n    q/is_enabled/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Contactus_is_enabled.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Contactus_is_enabled.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Contactus',\n    'is_enabled'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/DAV/disable_shared_global_addressbook": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function disables the shared global address book for the current cPanel account's webmail accounts.",
        "operationId": "DAV-disable_shared_global_addressbook",
        "parameters": [
          {
            "description": "cPanel account username or a Webmail user's email address. If you do **not** specify a user, this parameter defaults to the currently-authenticated user.",
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "example": "user",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disable_shared_global_addressbook",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DAV",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "shared": {
                              "description": "Whether the global address book is shared.\n* `1` — Shared.\n* `0` — **Not** shared.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable global address book",
        "tags": [
          "DAV",
          "Calendar and Contacts (DAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DAV \\\n  disable_shared_global_addressbook\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DAV/disable_shared_global_addressbook"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DAV_disable_shared_global_addressbook.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DAV_disable_shared_global_addressbook.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DAV/,\n    q/disable_shared_global_addressbook/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DAV_disable_shared_global_addressbook.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DAV_disable_shared_global_addressbook.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DAV',\n    'disable_shared_global_addressbook'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/DAV/enable_shared_global_addressbook": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables the shared global address book for the current cPanel account's webmail accounts.",
        "operationId": "DAV-enable_shared_global_addressbook",
        "parameters": [
          {
            "description": "cPanel account username or a Webmail user's email address. If you do **not** specify a user, this parameter defaults to the currently-authenticated user.",
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "example": "user",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "enable_shared_global_addressbook",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DAV",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "shared": {
                              "description": "Whether the global address book is shared.\n* 1 — Shared.\n* 0 — **Not** shared.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable global address book",
        "tags": [
          "DAV",
          "Calendar and Contacts (DAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DAV \\\n  enable_shared_global_addressbook\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DAV/enable_shared_global_addressbook"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DAV_enable_shared_global_addressbook.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DAV_enable_shared_global_addressbook.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DAV/,\n    q/enable_shared_global_addressbook/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DAV_enable_shared_global_addressbook.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DAV_enable_shared_global_addressbook.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DAV',\n    'enable_shared_global_addressbook'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/DAV/get_calendar_contacts_config": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the connection information to set up the CalDAV and CardDAV clients.",
        "operationId": "DAV-get_calendar_contacts_config",
        "parameters": [
          {
            "description": "A cPanel account or valid email account user.\n\nIf you do **not** include this parameter, the function defaults to the current\nauthenticated user.",
            "in": "query",
            "name": "user",
            "required": false,
            "schema": {
              "oneOf": [
                {
                  "description": "A cPanel account.",
                  "example": "username",
                  "format": "username",
                  "type": "string"
                },
                {
                  "description": "A valid email account.",
                  "example": "username@example.com",
                  "format": "email",
                  "type": "string"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_calendar_contacts_config",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DAV",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "activesync": {
                              "description": "Configuration details for ActiveSync.",
                              "properties": {
                                "enabled": {
                                  "description": "Whether the server has ActiveSync enabled.\n* `1` — Enabled.\n* `0` — **Not** enabled.",
                                  "enum": [
                                    1,
                                    0
                                  ],
                                  "example": 1,
                                  "type": "integer"
                                },
                                "port": {
                                  "description": "The port number the system uses for secure ActiveSync connections.",
                                  "example": 2091,
                                  "maximum": 65535,
                                  "minimum": 1,
                                  "type": "integer"
                                },
                                "server": {
                                  "description": "The fully qualified domain name to connect to.",
                                  "example": "example.com",
                                  "format": "domain",
                                  "type": "string"
                                },
                                "user": {
                                  "description": "The cPanel user or email account user to\nwhom the returned connection information pertains.\n\nIf you do **not** specify the `user` parameter,\nthis function returns the authenticated cPanel user.",
                                  "example": "username",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "no_ssl": {
                              "description": "A list of non-SSL connection configurations.",
                              "properties": {
                                "calendars": {
                                  "description": "An array of objects containing the user's calendars.",
                                  "items": {
                                    "properties": {
                                      "description": {
                                        "description": "The description of the calendar.",
                                        "example": "Custom calendar 1.",
                                        "type": "string"
                                      },
                                      "name": {
                                        "description": "The name of the calendar.",
                                        "example": "Calendar 1",
                                        "type": "string"
                                      },
                                      "path": {
                                        "description": "The relative URL path to the calendar.",
                                        "example": "/calendars/example/calendar:ZcG9JBH68WXxfMVUgvSrUw1",
                                        "type": "string"
                                      },
                                      "url": {
                                        "description": "The absolute URL to the calendar.",
                                        "example": "http://example.com:2079/calendars/example/calendar:ZcG9JBH68WXxfMVUgvSrUw1",
                                        "format": "url",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "contacts": {
                                  "description": "An array of objects containing the user's address books.",
                                  "items": {
                                    "properties": {
                                      "description": {
                                        "description": "The description of the address book.",
                                        "example": "Custom address book 1.",
                                        "type": "string"
                                      },
                                      "name": {
                                        "description": "The name of the address book.",
                                        "example": "Custom 1",
                                        "type": "string"
                                      },
                                      "path": {
                                        "description": "The relative URL to the address book.",
                                        "example": "/addressbooks/example/contacts:E-KKA5uQZyQJbTBKcGP3OQ6",
                                        "type": "string"
                                      },
                                      "url": {
                                        "description": "The absolute URL to the address book.",
                                        "example": "https://example.com:2080/addressbooks/example/contacts:E-KKA5uQZyQJbTBKcGP3OQ6",
                                        "format": "url",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "free_busy": {
                                  "description": "The absolute URL path and HTTP port to the user's\nCalDAV `free-busy-query` connection.\n\n**Note:**\n\nThis information is useful for clients that support Autodiscovery.",
                                  "example": "http://server.example.com:2079/kronolith/fb.php?u=example",
                                  "format": "url",
                                  "type": "string"
                                },
                                "full_server": {
                                  "description": "The absolute URL path and HTTP port to the user's CalDAV\nand CardDAV connection information.\n\n**Note:**\n\nThis information is useful for clients that do **not** support Autodiscovery.",
                                  "example": "http://example.com:2079/rpc/principal/example",
                                  "format": "url",
                                  "type": "string"
                                },
                                "port": {
                                  "description": "The port number that the system uses for non-SSL connections.",
                                  "example": 2079,
                                  "maximum": 65535,
                                  "minimum": 1,
                                  "type": "integer"
                                },
                                "server": {
                                  "description": "The short server connection string that includes a domain name and a port that uses the HTTP protocol.",
                                  "example": "http://example.com:2079",
                                  "format": "url",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "ssl": {
                              "description": "A list of SSL connection configurations.",
                              "properties": {
                                "calendars": {
                                  "description": "An array of objects containing the user's calendars.",
                                  "items": {
                                    "properties": {
                                      "description": {
                                        "description": "The description of the calendar.",
                                        "example": "Custom calendar 2.",
                                        "type": "string"
                                      },
                                      "name": {
                                        "description": "The name of the calendar.",
                                        "example": "Calendar 2",
                                        "type": "string"
                                      },
                                      "path": {
                                        "description": "The relative URL path to the calendar.",
                                        "example": "/calendars/example/calendar:ZcG9JBH68WXxfMVUgvSrUw1",
                                        "type": "string"
                                      },
                                      "url": {
                                        "description": "The absolute URL to the calendar.",
                                        "example": "http://example.com:2080/calendars/example/calendar:ZcG9JBH68WXxfMVUgvSrUw1",
                                        "format": "url",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "contacts": {
                                  "description": "An array of objects containing the user's address books.",
                                  "items": {
                                    "properties": {
                                      "description": {
                                        "description": "The description of the address book.",
                                        "example": "Custom address book 2.",
                                        "type": "string"
                                      },
                                      "name": {
                                        "description": "The name of the address book.",
                                        "example": "Address book 2",
                                        "type": "string"
                                      },
                                      "path": {
                                        "description": "The relative URL to the address book.",
                                        "example": "/addressbooks/example/contacts:E-KKA5uQZyQJbTBKcGP3OQ6",
                                        "type": "string"
                                      },
                                      "url": {
                                        "description": "The absolute URL to the address book.",
                                        "example": "https://example.com:2080/addressbooks/example/contacts:E-KKA5uQZyQJbTBKcGP3OQ6",
                                        "format": "url",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "free_busy": {
                                  "description": "The absolute URL path and HTTPS port to the user's CalDAV\n`free-busy-query` connection.\n\n**Note:**\n\nThis information is useful for clients that support Autodiscovery.",
                                  "example": "http://server.example.com:2080/kronolith/fb.php?u=example",
                                  "format": "url",
                                  "type": "string"
                                },
                                "full_server": {
                                  "description": "The absolute URL path and HTTPS port to the user's CalDAV and\nCardDAV connection information.\n\n**Note:**\n\nThis information is useful for clients that do **not** support\nAutodiscovery.",
                                  "example": "http://example.com:2080/rpc/principal/example",
                                  "format": "url",
                                  "type": "string"
                                },
                                "is_self_signed": {
                                  "description": "Whether the server uses a self-signed certificate.\n\n* `1` — Self-signed.\n* `0` — **Not** self-signed.",
                                  "enum": [
                                    1,
                                    0
                                  ],
                                  "example": 1,
                                  "type": "integer"
                                },
                                "port": {
                                  "description": "The port number that the system uses for SSL connections.",
                                  "example": 2080,
                                  "maximum": 65535,
                                  "minimum": 1,
                                  "type": "integer"
                                },
                                "server": {
                                  "description": "The short server connection string that includes a\ndomain name and a port that uses the HTTPS protocol.\n\n**Note:**\n\nThis value is useful for clients that support Autodiscovery.",
                                  "example": "https://example.com:2080",
                                  "format": "url",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "user": {
                              "description": "The cPanel user or email account user to\nwhom the returned connection information pertains.\n\nIf you do **not** specify the `user` parameter,\nthis function returns the authenticated cPanel user.",
                              "example": "username",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return CalDAV and CardDAV connection information",
        "tags": [
          "DAV",
          "Calendar and Contacts (DAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DAV \\\n  get_calendar_contacts_config\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DAV/get_calendar_contacts_config"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DAV_get_calendar_contacts_config.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DAV_get_calendar_contacts_config.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DAV/,\n    q/get_calendar_contacts_config/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DAV_get_calendar_contacts_config.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DAV_get_calendar_contacts_config.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DAV',\n    'get_calendar_contacts_config'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.50"
      }
    },
    "/DAV/has_shared_global_addressbook": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether the shared global address book is enabled on the current cPanel account's webmail accounts.",
        "operationId": "DAV-has_shared_global_addressbook",
        "parameters": [
          {
            "description": "cPanel account user name or a Webmail user's email address. If you do **not** specify a user, this parameter defaults to the currently-authenticated user.",
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "example": "user",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "has_shared_global_addressbook",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DAV",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "shared": {
                              "description": "Whether the global address book is enabled.\n* `1` — Enabled.\n* `0` — **Not** enabled.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether global address book is enabled",
        "tags": [
          "DAV",
          "Calendar and Contacts (DAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DAV \\\n  has_shared_global_addressbook\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DAV/has_shared_global_addressbook"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DAV_has_shared_global_addressbook.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DAV_has_shared_global_addressbook.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DAV/,\n    q/has_shared_global_addressbook/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DAV_has_shared_global_addressbook.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DAV_has_shared_global_addressbook.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DAV',\n    'has_shared_global_addressbook'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/DAV/is_dav_service_enabled": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether the DAV service is enabled.",
        "operationId": "DAV-is_dav_service_enabled",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "is_dav_service_enabled",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DAV",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "enabled": {
                              "description": "Whether the DAV service is enabled.\n* `1` — Enabled.\n* `0` — Disabled.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether DAV is enabled",
        "tags": [
          "DAV",
          "Calendar and Contacts (DAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DAV \\\n  is_dav_service_enabled\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DAV/is_dav_service_enabled"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DAV_is_dav_service_enabled.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DAV_is_dav_service_enabled.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DAV/,\n    q/is_dav_service_enabled/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DAV_is_dav_service_enabled.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DAV_is_dav_service_enabled.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DAV',\n    'is_dav_service_enabled'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.50"
      }
    },
    "/DAV/is_horde_enabled": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether Horde is enabled. Since Horde is no longer installed with the product, the return value will only ever be 0.",
        "operationId": "DAV-is_horde_enabled",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "is_horde_enabled",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DAV",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "enabled": {
                              "description": "Whether Horde is enabled. Always false because horde is no longer installed with the product.\n* `0` — Disabled.",
                              "enum": [
                                0
                              ],
                              "example": 0,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether Horde is enabled",
        "tags": [
          "DAV",
          "Calendar and Contacts (DAV)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DAV \\\n  is_horde_enabled\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DAV/is_horde_enabled"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DAV_is_horde_enabled.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DAV_is_horde_enabled.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DAV/,\n    q/is_horde_enabled/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DAV_is_horde_enabled.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DAV_is_horde_enabled.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DAV',\n    'is_horde_enabled'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.50"
      }
    },
    "/DCV/check_domains_via_dns": {
      "post": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function checks whether the account's domains can pass Domain Control Validation (DCV) via a DNS request.",
        "operationId": "DCV-check_domains_via_dns",
        "parameters": [
          {
            "description": "The domain or domains to check.\n\n**Note:**\n\n To check multiple domains, increment the parameter name. For example, `domain-0`, `domain-1`, and `domain-2`.",
            "examples": {
              "multiple": {
                "summary": "Check multiple domains.",
                "value": "domain-0=example.com&domain-1=example2.com"
              },
              "single": {
                "summary": "Check a single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "check_domains_via_dns",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DCV",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing the results from each `domain` parameter’s DCV check.\n\n**Note:**\n\n The function returns the results from the `domain` parameter in the same order in which you called them.",
                          "items": {
                            "properties": {
                              "dcv_string": {
                                "description": "The expected value of the queried DNS record.",
                                "example": "_dcv-test-record=wsWRlG9IsG7KNnLdIsx9Oz2oTw8m5q0imRR9L6LnDBz14sZelvDHqrJyJc6LA0DY",
                                "type": "string"
                              },
                              "domain": {
                                "description": "The domain that the system verified.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "failure_reason": {
                                "description": "A message that contains the reason why the DCV check failed.\n\n**Note:**\n\n  If the server fails to update the DNS zone, the system returns this value.",
                                "example": "The DNS query to _dcv-test-record.example2.org for the DCV challenge returned no TXT record that matches the value _dcv-test-record=wRUFPTN1DskKDG8KHfYM_5cQF5QUGWq1_A2ovO8rKsrIYO_HilAjsQABFCrbJkLX.",
                                "type": "string"
                              },
                              "query_results": {
                                "description": "The strings that the DNS query returned. This array may be empty.\n\n**Note:**\n\n If the server fails to update the DNS zone, the system returns the `failure_reason` value.",
                                "example": [
                                  "_dcv-test-record=wsWRlG9IsG7KNnLdIsx9Oz2oTw8m5q0imRR9L6LnDBz14sZelvDHqrJyJc6LA0DY"
                                ],
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "succeeded": {
                                "description": "Whether the DCV check succeeded.\n- `1` - At least one of the `query_results` values equals the `dcv_string` value.\n- `0` - None of the `query_results` values equal the `dcv_string` value.",
                                "enum": [
                                  1,
                                  0
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "zone": {
                                "description": "The altered and queried DNS zone name.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Verify domain ownership via DNS",
        "tags": [
          "DCV",
          "Verify Domain Ownership"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DCV \\\n  check_domains_via_dns \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DCV/check_domains_via_dns?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DCV_check_domains_via_dns.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DCV_check_domains_via_dns.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DCV/,\n    q/check_domains_via_dns/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DCV_check_domains_via_dns.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DCV_check_domains_via_dns.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DCV',\n    'check_domains_via_dns',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 74"
      }
    },
    "/DCV/check_domains_via_http": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function checks whether the account's domains can pass Domain Control Validation (DCV) via an HTTP request.",
        "operationId": "DCV-check_domains_via_http",
        "parameters": [
          {
            "description": "The domains to check.\n\n**Note:**\n\nTo check more than one domain, repeat or increment the parameter name. For\nexample, `domain-1`, `domain-2`, and `domain-3`.",
            "examples": {
              "multiple": {
                "summary": "Check multiple domains.",
                "value": "domain-1=example.com&domain-2=example2.com&domain-3=example2.com"
              },
              "single": {
                "summary": "Check a single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "An array of characters that the certificate provider allows in the DCV check file's filename.",
            "in": "query",
            "name": "dcv_file_allowed_characters",
            "required": false,
            "schema": {
              "default": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H",
                "I",
                "J",
                "K",
                "L",
                "M",
                "N",
                "O",
                "P",
                "Q",
                "R",
                "S",
                "T",
                "U",
                "V",
                "W",
                "X",
                "Y",
                "Z",
                "0",
                "1",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "8",
                "9"
              ],
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "The DCV check file extension that the certificate provider requires.",
            "in": "query",
            "name": "dcv_file_extension",
            "required": false,
            "schema": {
              "default": "",
              "example": "txt",
              "type": "string"
            }
          },
          {
            "description": "The number of characters that the certificate provider allows in the DCV check file's filename.",
            "in": "query",
            "name": "dcv_file_random_character_count",
            "required": false,
            "schema": {
              "default": 100,
              "example": 32,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "The DCV check file's file path, relative to the domain's document `root` directory.",
            "in": "query",
            "name": "dcv_file_relative_path",
            "required": false,
            "schema": {
              "default": ".well-known/pki-validation",
              "example": ".well-known/pki-validation",
              "type": "string"
            }
          },
          {
            "description": "The number of domain redirects the system permits the DCV check to follow. The function checks the provider's supported number of redirects.\nIt will then return the `redirect` array of objects for the passed value, plus one. This ensures the function will display any redirects causing DCV failures, if any exist.\n\n**Note:**\n\n* If you pass a `0` value, this function does **not** limit the number of redirect returns.\n* Use the `Market::get_provider_specific_dcv_constraints` UAPI function to list a provider's supported number of redirects.",
            "in": "query",
            "name": "dcv_max_redirects",
            "required": false,
            "schema": {
              "default": null,
              "example": 2,
              "minimum": 0,
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "description": "The [user agent string](https://wikipedia.org/wiki/User_agent) that the system uses for the imitated local DCV check.\n\n**Important:**\n\nThe default value can change at any time.",
            "in": "query",
            "name": "dcv_user_agent_string",
            "required": false,
            "schema": {
              "example": "SECTIGO+DCV",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "check_domains_via_http",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DCV",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that contains results from each domain's DCV check.\n\n**Note:**\n\n The function returns the domain's results in the same order that you pass them in the `domain` parameter.",
                          "items": {
                            "properties": {
                              "failure_reason": {
                                "description": "The reason that the DCV check failed.\n* `null` — The domain passed the DCV check.",
                                "example": "The system queried for a temporary file at http://example.com/.well-known/pki-validationD01511F4E E535A5442FC378AA946CF41.txt, but the web server responded with the following error: 404 (Not Found). A DNS (Domain Name System) or web server misconfiguration may exist. The domain example.com resolved to an IP address 93.184.216.34 that does not exist on this server.",
                                "nullable": true,
                                "type": "string"
                              },
                              "redirects": {
                                "description": "An array of objects that contains DCV check redirect information.\n\n**Note:**\n\n This **only** contains data if the `redirects_count` return includes a value greater than zero.",
                                "items": {
                                  "properties": {
                                    "content": {
                                      "description": "A message that explains why the function failed.",
                                      "example": "<!DOCTYPE HTML PUBLIC \\\"-//IETF//DTD HTML 2.0//EN\\\">\\n<html><head>\\n<title>301 Moved Permanently</title>\\n </head><body>\\n<h1>Moved Permanently</h1>\\n <p>The document has moved <a href=\\\"http://www.example.com/.well-known/pki-validation/770102 17B0CCF0CCF6211602F9A1B2B2.txt\\\">here</a>.</p>\\n</body></html>\\n",
                                      "type": "string"
                                    },
                                    "headers": {
                                      "description": "An object that contains the [HTTP::Tiny](http://search.cpan.org/~dagolden/HTTP-Tiny-0.070/lib/HTTP/Tiny.pm) CPAN module returns.\n\n**Note:**\n\n  This object's contents vary according to the URL's headers.",
                                      "type": "object"
                                    },
                                    "protocol": {
                                      "description": "The URL's HTTP protocol.",
                                      "example": "HTTP/1.1",
                                      "type": "string"
                                    },
                                    "reason": {
                                      "description": "The HTTP response status message.",
                                      "example": "Moved Permanently",
                                      "type": "string"
                                    },
                                    "redirects": {
                                      "description": "An array of objects containing the redirects, if the value exists.",
                                      "example": null,
                                      "nullable": true,
                                      "items": {
                                        "type": "object"
                                      },
                                      "type": "array"
                                    },
                                    "status": {
                                      "description": "The [HTTP response status code](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes).",
                                      "example": 301,
                                      "type": "integer"
                                    },
                                    "success": {
                                      "description": "Whether the server returns a [2XX HTTP status code](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#2xx_Success).\n* `1` — The server returns a 2XX status code.\n* `0` or an empty string — The server does **not** return a 2XX status code.",
                                      "example": "",
                                      "oneOf": [
                                        {
                                          "enum": [
                                            ""
                                          ],
                                          "type": "string"
                                        },
                                        {
                                          "enum": [
                                            0,
                                            1
                                          ],
                                          "type": "integer"
                                        }
                                      ]
                                    },
                                    "url": {
                                      "description": "The URL that the function searches for the DCV file.",
                                      "example": "http://example.com/.well-known/pki-validation/77010217B0CCF0CCF6211602F9A1B2B2.txt",
                                      "format": "url",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "redirects_count": {
                                "description": "The number of HTTP redirects that the DCV check follows.",
                                "example": 0,
                                "minimum": 0,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Verify domain ownership via HTTP",
        "tags": [
          "DCV",
          "Verify Domain Ownership"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DCV \\\n  check_domains_via_http \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DCV/check_domains_via_http?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DCV_check_domains_via_http.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DCV_check_domains_via_http.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DCV/,\n    q/check_domains_via_http/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DCV_check_domains_via_http.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DCV_check_domains_via_http.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DCV',\n    'check_domains_via_http',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 60"
      }
    },
    "/DCV/ensure_domains_can_pass_dcv": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "deprecated": true,
        "description": "This function indicates whether the account's domains can pass a Domain Control\nValidation (DCV) check.\n\n**Warning:**\n\nWe deprecated this function. Use UAPI's `DCV::check_domains_via_http` function.",
        "operationId": "DCV-ensure_domains_can_pass_dcv",
        "parameters": [
          {
            "description": "The domains to check.\n\n**Note:**\n\n To check multiple domains, duplicate or increment the parameter name. For example,\n `domain-1`, `domain-2`, and `domain-3`.",
            "examples": {
              "multiple": {
                "summary": "Check multiple domains.",
                "value": "domain-1=example1.com domain-2=example2.com domain-3=example3.com"
              },
              "multiple-alternative": {
                "summary": "Check multiple domains.",
                "value": "domain=example1.com domain=example2.com domain=example3.com"
              },
              "single": {
                "summary": "Check a single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "ensure_domains_can_pass_dcv",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DCV",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "A list of results from each domain parameter's DCV check.\n\n* `null` — The domain passes the DCV check.\n\n**Note:**\n\nThe function returns the results from the domains in the same order\nin which you called them.",
                          "example": [
                            null,
                            null,
                            "The domain resolves to Mars. Beep beep beep."
                          ],
                          "items": {
                            "nullable": true,
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Verify domain ownership",
        "tags": [
          "DCV",
          "Verify Domain Ownership"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DCV \\\n  ensure_domains_can_pass_dcv \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DCV/ensure_domains_can_pass_dcv?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DCV_ensure_domains_can_pass_dcv.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DCV_ensure_domains_can_pass_dcv.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DCV/,\n    q/ensure_domains_can_pass_dcv/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DCV_ensure_domains_can_pass_dcv.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DCV_ensure_domains_can_pass_dcv.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DCV',\n    'ensure_domains_can_pass_dcv',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/DNS/ensure_domains_reside_only_locally": {
      "get": {
        "x-readonly": true,
        "description": "This function indicates whether the account's domains resolve exclusively to this server.",
        "operationId": "DNS-ensure_domains_reside_only_locally",
        "parameters": [
          {
            "description": "The domain to check.\n\n**Note:**\n\nTo check multiple domains, duplicate or increment the parameter name. For example, to exclude three domains, you could:\n* Use the `domain` parameter multiple times.\n* Use the `domain`, `domain-1`, and `domain-2` parameters.",
            "examples": {
              "multiple": {
                "summary": "Multiple domains",
                "value": "domain=example.com&domain-1=example1.com&domain-2=example2.com"
              },
              "multiple-alternative": {
                "summary": "Multiple domains",
                "value": "domain=example.com&domain=example1.com&domain=example2.com"
              },
              "single": {
                "summary": "A single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example1.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "ensure_domains_reside_only_locally",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The results from each domain parameter's DNS query.\n* `null` - The domain **only** resolves locally to the server.\n* A valid string that explains to where the domain resolves.\n\n**Note:**\n\n The function returns the results from the domains in the same order that you called them.",
                          "items": {
                            "example": "The domain resolves to Mars. Beep beep beep.",
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether domains only resolve locally",
        "tags": [
          "DNS",
          "DNS Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNS \\\n  ensure_domains_reside_only_locally \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNS/ensure_domains_reside_only_locally?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_ensure_domains_reside_only_locally.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_ensure_domains_reside_only_locally.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/ensure_domains_reside_only_locally/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_ensure_domains_reside_only_locally.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_ensure_domains_reside_only_locally.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'ensure_domains_reside_only_locally',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/DNS/fetch_cpanel_generated_domains": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the list of subdomains that cPanel automatically\ngenerates for a given domain. These include proxy subdomains such as\n`webmail`, `mail`, and `cpanel`, as well as other system-generated\ndomain names.",
        "operationId": "DNS-fetch_cpanel_generated_domains",
        "parameters": [
          {
            "description": "The domain for which to retrieve cPanel-generated subdomains.",
            "examples": {
              "single": {
                "summary": "Retrieve generated subdomains for a domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fetch_cpanel_generated_domains",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing the cPanel-generated domain names for the specified domain.",
                          "example": [
                            {
                              "domain": "example.com."
                            },
                            {
                              "domain": "cpanel.example.com."
                            },
                            {
                              "domain": "mail.example.com."
                            },
                            {
                              "domain": "webmail.example.com."
                            },
                            {
                              "domain": "webdisk.example.com."
                            }
                          ],
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "A cPanel-generated domain name, returned as a fully-qualified\ndomain name (FQDN) with a trailing dot.",
                                "example": "webmail.example.com.",
                                "format": "domain",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Retrieve cPanel-generated subdomains for a domain",
        "tags": [
          "DNS",
          "DNS Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNS \\\n  fetch_cpanel_generated_domains \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNS/fetch_cpanel_generated_domains?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_fetch_cpanel_generated_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_fetch_cpanel_generated_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/fetch_cpanel_generated_domains/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_fetch_cpanel_generated_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_fetch_cpanel_generated_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'fetch_cpanel_generated_domains',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 120"
      }
    },
    "/DNS/has_local_authority": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether the local server is authoritative for the domain's DNS records.",
        "operationId": "DNS-has_local_authority",
        "parameters": [
          {
            "description": "The domain to check whether the local server is authoritative for the domain's\nDNS records.\n\n**Note:**\n\nTo check multiple domains, increment or duplicate the parameter name. For\nexample, `domain-0`, `domain-1`, and `domain-2`.",
            "examples": {
              "multiple": {
                "summary": "Check multiple domains.",
                "value": "domain-0=example.com domain-1=example1.com domain-2=example2.com"
              },
              "multiple-alternative": {
                "summary": "Check multiple domains.",
                "value": "domain=example.com domain=example1.com domain=example2.com"
              },
              "single": {
                "summary": "Check a single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "has_local_authority",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing information about the authoritative status of a domain's local DNS zone files.",
                          "example": [
                            {
                              "domain": "example.com",
                              "local_authority": 1,
                              "nameservers": [
                                "ns1.example.com",
                                "ns2.example.com"
                              ],
                              "zone": "example.com"
                            },
                            {
                              "domain": "example2.com",
                              "local_authority": 0,
                              "nameservers": []
                            },
                            {
                              "domain": "example3.com",
                              "error": "(XID 3z756a) DNS query (example3.com/SOA) timeout!",
                              "local_authority": 0,
                              "nameservers": [],
                              "zone": "example3.com"
                            }
                          ],
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The queried domain.",
                                "format": "domain",
                                "type": "string"
                              },
                              "error": {
                                "description": "An error message that details the reason why the local server's\nauthoritative check failed.\n\n**Note:**\n\nThe function **only** returns this value when the check fails.",
                                "type": "string"
                              },
                              "local_authority": {
                                "description": "Whether the local server is authoritative for the domain's DNS\nrecords.\n\n* `1` — The local server is authoritative for the domain's DNS\nrecords.\n* `0` — The local server is **not** authoritative for the domain's\nDNS records.",
                                "enum": [
                                  1,
                                  0
                                ],
                                "type": "integer"
                              },
                              "nameservers": {
                                "description": "The domain's nameservers, if any exist.",
                                "items": {
                                  "format": "domain",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "zone": {
                                "description": "The domain's DNS zone, if one exists.\n\n* `null` — No valid DNS zone.",
                                "format": "domain",
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": [],
                          "items": {
                            "nullable": true,
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether local DNS server is authoritative",
        "tags": [
          "DNS",
          "DNS Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNS \\\n  has_local_authority \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNS/has_local_authority?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_has_local_authority.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_has_local_authority.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/has_local_authority/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_has_local_authority.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_has_local_authority.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'has_local_authority',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/DNS/is_alias_available": {
      "get": {
        "x-readonly": true,
        "description": "This function returns whether `ALIAS` and `ANAME` records are available and the value of the running PowerDNS (PDNS) `resolver` setting, if any exists.\nFor more information, read our [`ALIAS` documentation](https://go.cpanel.net/dns-alias-record).",
        "operationId": "DNS-is_alias_available",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "is_alias_available",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "alias": {
                              "description": "Whether `ALIAS` records are available.\n\n* `1` - Available.\n* `0` - Not available.\n\nWhen `ALIAS` records are enabled, they may work in API calls that accept `A` and `AAAA` records. However, the `ALIAS` record must use a fully qualified domain name (FQDN) rather than an IP address.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "aname": {
                              "description": "Whether `ANAME` records are available.\n\n* `1` - Available.\n* `0` - Not available.\n\n**NOTE:**\n\nThe `aname` value is always set to false (i.e. Not available). The `ANAME` record is currently not supported. It is included for completeness and future proofing.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 0,
                              "type": "integer"
                            },
                            "resolver": {
                              "description": "The value (if any) of the running PDNS’s `resolver` setting.",
                              "example": "8.8.8.8",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return `ALIAS` DNS record availability & resolver",
        "tags": [
          "DNS",
          "DNS Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty --user=username DNS is_alias_available\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNS/is_alias_available"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_is_alias_available.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_is_alias_available.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(DNS => 'is_alias_available');\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_is_alias_available.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_is_alias_available.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'is_alias_available'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 122"
      }
    },
    "/DNS/is_https_available": {
      "get": {
        "x-readonly": true,
        "description": "This function fetches information regarding HTTPS records support.\nHTTPS records are defined in RFC 9460 and provide service parameters for HTTPS endpoints.\nFor more information, read our [Zone Editor documentation](https://go.cpanel.net/cpaneldocsZoneEditor).",
        "operationId": "DNS-is_https_available",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "is_https_available",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "https": {
                              "description": "Whether HTTPS records are supported.\n* `1` - Supported.\n* `0` - Not supported.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "dns_server": {
                              "description": "The DNS server type currently in use (bind, pdns, etc.).",
                              "example": "pdns",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return DNS HTTPS record support information",
        "tags": [
          "DNS",
          "DNS Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty --user=username DNS is_https_available\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNS/is_https_available"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_is_https_available.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_is_https_available.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(DNS => 'is_https_available');\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_is_https_available.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_is_https_available.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'is_https_available'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 122"
      }
    },
    "/DNS/is_svcb_available": {
      "get": {
        "x-readonly": true,
        "description": "This function fetches information regarding SVCB records support.\nSVCB records are defined in RFC 9460 and provide service binding and aliasing for arbitrary services.\nFor more information, read our [Zone Editor documentation](https://go.cpanel.net/cpaneldocsZoneEditor).",
        "operationId": "DNS-is_svcb_available",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "is_svcb_available",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "svcb": {
                              "description": "Whether SVCB records are supported.\n* `1` - Supported.\n* `0` - Not supported.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "dns_server": {
                              "description": "The DNS server type currently in use (bind, pdns, etc.).",
                              "example": "pdns",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return DNS SVCB record support information",
        "tags": [
          "DNS",
          "DNS Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty --user=username DNS is_svcb_available\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNS/is_svcb_available"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_is_svcb_available.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_is_svcb_available.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(DNS => 'is_svcb_available');\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_is_svcb_available.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_is_svcb_available.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'is_svcb_available'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 122"
      }
    },
    "/DNS/lookup": {
      "get": {
        "x-readonly": true,
        "description": "This function returns DNS zone information about a domain.",
        "operationId": "DNS-lookup",
        "parameters": [
          {
            "description": "A fully qualified domain name.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "lookup",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Contains each response item.",
                          "example": [
                            "example.com has address 93.184.216.34",
                            "example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946",
                            "example.com mail is handled by 0 ."
                          ],
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return domain's DNS information",
        "tags": [
          "DNS",
          "DNS Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNS \\\n  lookup \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNS/lookup?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_lookup.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_lookup.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/lookup/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_lookup.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_lookup.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'lookup',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 90
      }
    },
    "/DNS/mass_edit_zone": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function updates a DNS zone by allowing multiple records to be added, modified, or removed in a single call. It also ensures modified records occupy the same number of lines as before the edit.\n\n**NOTE:**\n\nYou cannot use this function to edit temporary domains.",
        "operationId": "DNS-mass_edit_zone",
        "parameters": [
          {
            "description": "The current serial number in the DNS zone’s SOA (Start of Authority)\nrecord. If this value does not match the zone’s current state, the\nrequest fails.",
            "in": "query",
            "name": "serial",
            "required": true,
            "schema": {
              "example": 202001010100,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "The name of one of the user’s DNS zones.",
            "in": "query",
            "name": "zone",
            "required": true,
            "schema": {
              "example": "example.com",
              "type": "string"
            }
          },
          {
            "description": "The records to add to the zone. Each item must be a serialized\nJSON object that contains:\n\n* `dname` — The record’s name.\n* `ttl` — The record’s TTL (Time-To-Live) value.\n* `record_type` — The record’s type. For example, `A` or `TXT`.\n* `data` — An array of strings. The format and number of the\n  strings depend on the `record_type` value.",
            "examples": {
              "a": {
                "description": "An A record.",
                "value": "'{\"dname\":\"example\", \"ttl\":14400, \"record_type\":\"A\", \"data\":[\"11.22.33.44\"]}'"
              },
              "aaaa": {
                "description": "A TXT record.",
                "value": "'{\"dname\":\"example\", \"ttl\":14400, \"record_type\":\"TXT\", \"data\":[\"string1\", \"string2\"]}'"
              }
            },
            "explode": true,
            "in": "query",
            "name": "add",
            "required": false,
            "schema": {
              "items": {
                "format": "json",
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "The records to edit in the zone. Each item must be a serialized\nJSON object that contains:\n\n* `line_index` — The line number in the DNS zone where the record starts.\n  This is a 0-based index, so to edit the first line in the file\n  use the `0` value. To edit the second line, give `1`, and so forth.\n* `dname` — The record’s name.\n* `ttl` — The record’s TTL (Time-To-Live) value.\n* `record_type` — The record’s new type. For example, `A` or `TXT`.\n* `data` — An array of strings. The format and number of the\n  strings depend on the `record_type` value.",
            "explode": true,
            "in": "query",
            "name": "edit",
            "required": false,
            "schema": {
              "items": {
                "example": "'{\"line_index\": 9, \"dname\":\"example\", \"ttl\":14400, \"record_type\":\"TXT\", \"data\":[\"string1\", \"string2\"]}'",
                "format": "json",
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "The line indexes of records to remove from the zone.",
            "explode": true,
            "in": "query",
            "name": "remove",
            "required": false,
            "schema": {
              "items": {
                "example": 22,
                "minimum": 0,
                "type": "integer"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "mass_edit_zone",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "new_serial": {
                              "description": "The DNS zone’s SOA record’s new serial number.\nYou can use this to submit later edits if you\ntrack the number of lines each record takes up.",
                              "example": 2021031903,
                              "minimum": 0,
                              "type": "integer"
                            }
                          }
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update a DNS zone",
        "tags": [
          "DNS",
          "DNS Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty --user=username DNS mass_edit_zone zone='example.com' serial='202001010100' remove=23 add='{\"dname\":\"example\",\"ttl\":14400,\"record_type\":\"A\",\"data\":[\"127.0.0.1\"]}'"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNS/mass_edit_zone?zone=example.com&serial=202001010100&remove=23"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_mass_edit_zone.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_mass_edit_zone.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/mass_edit_zone/,\n    {\n        'zone' => 'example.com',\n        'serial' => '202001010100',\n        'add' => '{\"dname\":\"example\",\"ttl\":14400,\"record_type\":\"A\",\"data\":[\"127.0.0.1\"]}',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_mass_edit_zone.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_mass_edit_zone.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'mass_edit_zone',\n    array (\n        'zone' => 'example.com',\n        'serial' => '202001010100',\n        'add' => '{\"dname\":\"example\",\"ttl\":14400,\"record_type\":\"A\",\"data\":[\"127.0.0.1\"]}',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 96
      }
    },
    "/DNS/parse_zone": {
      "get": {
        "x-readonly": true,
        "description": "This function parses a given DNS zone.\n\n**Important:**\n\nMost DNS zones contain only 7-bit ASCII. However, it is possible for\nDNS zones to contain any binary sequence. An application that decodes\nthis function's base64 output **must** be able to handle cases\nwhere the decoded octets do not match any specific character\nencoding.",
        "operationId": "DNS-parse_zone",
        "parameters": [
          {
            "description": "The name of one of the user’s DNS zones.",
            "in": "query",
            "name": "zone",
            "required": true,
            "schema": {
              "example": "example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "parse_zone",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/Payload"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return a parsed DNS zone",
        "tags": [
          "DNS",
          "DNS Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNS \\\n  parse_zone \\\n  zone='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNS/parse_zone?zone=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_parse_zone.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_parse_zone.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/parse_zone/,\n    {\n        'zone' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_parse_zone.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_parse_zone.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'parse_zone',\n    array (\n        'zone' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 96
      }
    },
    "/DNS/swap_ip_in_zones": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function replaces a domain's IPv4 address in the DNS zone\nfile with the specified destination IPv4 address.",
        "operationId": "DNS-swap_ip_in_zones",
        "parameters": [
          {
            "description": "The IPv4 address to use as the replacement in the zone files.",
            "in": "query",
            "name": "dest_ip",
            "required": true,
            "schema": {
              "type": "string",
              "format": "ipv4",
              "example": "192.0.2.1"
            }
          },
          {
            "description": "The domain to perform the zone file updates on.\n\n**Note:**\n\nTo update multiple domains, increment or duplicate the parameter name. For\nexample, `domain-0`, `domain-1`, and `domain-2`.",
            "examples": {
              "multiple": {
                "summary": "Update multiple domains.",
                "value": "example.com domain-1=example1.com domain-2=example2.com"
              },
              "multiple-alternative": {
                "summary": "Update multiple domains.",
                "value": "example.com domain=example1.com domain=example2.com"
              },
              "single": {
                "summary": "Update a single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The IPv4 address to use as the replacement for FTP records in the zone files.\n\nIf this parameter is **not** provided, then the system will use the `dest_ip` value.",
            "in": "query",
            "name": "ftp_ip",
            "required": false,
            "schema": {
              "type": "string",
              "format": "ipv4",
              "example": "192.0.2.1"
            }
          },
          {
            "description": "The IPv4 address to replace in the zone files. The detected source IPv4 address is one of:\n\n* If there is an A record for the root of the zone **and** the IP address is **not** a loopback address, then the system will use its address.\n* If there are any A records in the zone whose addresses are **not** loopback addresses, then the system will use the address of the first such A record in the zone file.\n* If no A records exist in the zone **or** all A records have loopback addresses, then the system will **not** update the zone file.\n\nIf you do **not** call this parameter, the system will automatically detect the IP addresses in the zone files.",
            "in": "query",
            "name": "source_ip",
            "required": false,
            "schema": {
              "type": "string",
              "format": "ipv4",
              "example": "192.0.2.0"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "swap_ip_in_zones",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing the updated DNS records, including their previous values.",
                          "items": {
                            "properties": {
                              "zone_name": {
                                "description": "The DNS zone in which the system updated the domain's record.",
                                "format": "domain",
                                "nullable": false,
                                "type": "string",
                                "example": "example.com"
                              },
                              "record_name": {
                                "description": "The name of the domain's updated DNS record.",
                                "format": "domain",
                                "nullable": false,
                                "type": "string",
                                "example": "example.com"
                              },
                              "record_type": {
                                "description": "The type of the DNS record which was updated.",
                                "type": "string",
                                "example": "A"
                              },
                              "old_value": {
                                "description": "The value of the DNS record before it was updated.",
                                "type": "string",
                                "example": "192.0.2.0"
                              },
                              "new_value": {
                                "description": "The value of the DNS record after it was updated.",
                                "type": "string",
                                "example": "192.0.2.1"
                              }
                            }
                          }
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update IP addresses in zone files",
        "tags": [
          "DNS"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --user=username DNS swap_ip_in_zones domain='example.com' source_ip='192.0.2.0' dest_ip='192.0.2.1'"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNS/swap_ip_in_zones?domain=example.com&source_ip=192.0.2.0&dest_ip=192.0.2.1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNS_swap_ip_in_zones.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNS_swap_ip_in_zones.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNS/,\n    q/swap_ip_in_zones/,\n    {\n        'domain'    => 'example.com',\n        'source_ip' => '192.0.2.0',\n        'dest_ip'   => '192.0.2.1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNS_swap_ip_in_zones.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNS_swap_ip_in_zones.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNS',\n    'swap_ip_in_zones',\n    array (\n        'domain'    => 'example.com',\n        'source_ip' => '192.0.2.0',\n        'dest_ip'   => '192.0.2.1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 96"
      }
    },
    "/DNSSEC/activate_zone_key": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function activates a DNSSEC security key.\n\n**Important:**\n\nWhen you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "DNSSEC-activate_zone_key",
        "parameters": [
          {
            "description": "The security key's domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The security key's ID.",
            "in": "query",
            "name": "key_id",
            "required": true,
            "schema": {
              "example": 1,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "activate_zone_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNSSEC",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": {
                            "domain": "example.com",
                            "key_id": "1",
                            "success": 1
                          },
                          "properties": {
                            "domain": {
                              "description": "The domain for which the system activated a security key.",
                              "example": "example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "error": {
                              "description": "An error message that describes why the system could not activate the security key.\n\n**Note:**\n\nThe function **only** displays this return when the `success` return is a `0` value.",
                              "example": "Error: Invalid key_id or domain specified: No such key present for domain.",
                              "type": "string"
                            },
                            "key_id": {
                              "description": "The security key's ID.",
                              "example": "1",
                              "type": "string"
                            },
                            "success": {
                              "description": "Whether the system activated the security key.\n* `1` - Activated.\n* `0` - The system failed to activate the security key. ",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable DNSSEC security key",
        "tags": [
          "DNSSEC",
          "DNS Security"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  activate_zone_key \\\n  domain='example.com' \\\n  key_id='1'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/activate_zone_key?domain=example.com&key_id=1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_activate_zone_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_activate_zone_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/activate_zone_key/,\n    {\n        'domain' => 'example.com',\n        'key_id' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_activate_zone_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_activate_zone_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'activate_zone_key',\n    array (\n        'domain' => 'example.com',\n        'key_id' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/DNSSEC/add_zone_key": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function generates a DNSSEC zone key for a domain.\n\n**Note:**\n\n* After you enable DNSSEC on the domain, you **must** add the DS records to your registrar.\n* You **cannot** modify the DNSSEC security key. To make any changes, you **must** disable (and delete) and re-create the DNSSEC security key.\n\n**Important:**\n\nWhen you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "DNSSEC-add_zone_key",
        "parameters": [
          {
            "description": "The algorithm that the system uses to generate the security key.\n\n* `5` — RSA/SHA-1\n* `6` — DSA-NSEC3-SHA1\n* `7` — RSASHA1-NSEC3-SHA1\n* `8` — RSA/SHA-256\n* `10` — RSA/SHA-512\n* `13` — ECDSA Curve P-256 with SHA-256\n* `14` — ECDSA Curve P-384 with SHA-384\n\n**Note:**\n\nWe recommend that you use 'ECDSA Curve P-256 with SHA-256' if your registrar supports it.",
            "in": "query",
            "name": "algo_num",
            "required": true,
            "schema": {
              "enum": [
                5,
                6,
                7,
                8,
                10,
                13,
                14
              ],
              "example": 8,
              "type": "integer"
            }
          },
          {
            "description": "The domain on which to enable DNSSEC.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The type of key to add.\n\n* `ksk`\n* `zsk`",
            "in": "query",
            "name": "key_type",
            "required": true,
            "schema": {
              "enum": [
                "ksk",
                "zsk"
              ],
              "example": "ksk",
              "type": "string"
            }
          },
          {
            "description": "Whether to activate the newly-created key.\n\n* `1` — Activate the key.\n* `0` — Do **not** activate the key.",
            "in": "query",
            "name": "active",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The key's size, in bits.\n\n**Note:**\n\nFor the following `algo_num` and `key_type` parameters, the `key_size` defaults to the following values:\n* `5` — ksk `2048` zsk `1024`\n* `6` — ksk `2048` zsk `1024`\n* `7` — ksk `2048` zsk `1024`\n* `8` — ksk `2048` zsk `1024`\n* `10` — ksk `2048` zsk `1024`\n* `13` — ksk `256` zsk `256`\n* `14` — ksk `384` zsk `384` ",
            "in": "query",
            "name": "key_size",
            "required": false,
            "schema": {
              "example": 2048,
              "maximum": 2048,
              "minimum": 256,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_zone_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNSSEC",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "domain": {
                              "description": "The domain for which the system added a security key.",
                              "example": "example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "error": {
                              "description": "An error message that describes why the system could not add the security key.\n\n**Note:**\n\nThe function **only** displays this return when the `success` return is a `0` value.",
                              "example": "Error: Invalid key_id or domain specified: No such key present for domain.",
                              "type": "string"
                            },
                            "new_key_id": {
                              "description": "The security key's ID.",
                              "example": "1",
                              "type": "string"
                            },
                            "success": {
                              "description": "Whether the system added the security key.\n\n* `1` — The system added the security key.\n* `0` — The system failed to add the security key.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create DNSSEC security key",
        "tags": [
          "DNSSEC",
          "DNS Security"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  add_zone_key \\\n  domain='example.com' \\\n  algo_num='8' \\\n  key_type='ksk'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/add_zone_key?domain=example.com&algo_num=8&key_type=ksk"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_add_zone_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_add_zone_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/add_zone_key/,\n    {\n        'domain' => 'example.com',\n        'algo_num' => '8',\n        'key_type' => 'ksk',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_add_zone_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_add_zone_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'add_zone_key',\n    array (\n        'domain' => 'example.com',\n        'algo_num' => '8',\n        'key_type' => 'ksk',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/DNSSEC/deactivate_zone_key": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deactivates a DNSSEC security key.\n\n**Important:**\n\nWhen you disable the [*DNS* role](https://go.cpanel.net/serverroles/), the system **disables** this function.",
        "operationId": "DNSSEC-deactivate_zone_key",
        "parameters": [
          {
            "description": "The security key's domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The security key's ID.",
            "in": "query",
            "name": "key_id",
            "required": true,
            "schema": {
              "example": 1,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "deactivate_zone_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNSSEC",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "domain": {
                              "description": "The domain for which the system deactivated a security key.",
                              "example": "example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "error": {
                              "description": "An error message that describes why the system could not\ndeactivate the security key.\n\n**Note**\n\nThe function **only** displays this return when the `success` return is a `0` value.",
                              "example": "Error:  Invalid key_id or domain specified: No such key present for domain.",
                              "type": "string"
                            },
                            "key_id": {
                              "description": "The security key's ID.",
                              "example": "1",
                              "type": "string"
                            },
                            "success": {
                              "description": "Whether the system deactivated the security key.\n\n* `1` - Deactivated.\n* `0` - The system failed to deactivate the security key.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable DNSSEC security key",
        "tags": [
          "DNSSEC",
          "DNS Security"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  deactivate_zone_key \\\n  domain='example.com' \\\n  key_id='1'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/deactivate_zone_key?domain=example.com&key_id=1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_deactivate_zone_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_deactivate_zone_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/deactivate_zone_key/,\n    {\n        'domain' => 'example.com',\n        'key_id' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_deactivate_zone_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_deactivate_zone_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'deactivate_zone_key',\n    array (\n        'domain' => 'example.com',\n        'key_id' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/DNSSEC/disable_dnssec": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function disables DNSSEC on the domain.\n\n**Warning:**\n\n * This action is **irreversible**. If you disable DNSSEC on the domain, you will lose the associated keys. You can only retrieve the previous state with a full backup.\n * If you disable DNSSEC, you **must** remove the DNS records at the registrar.\n\n**Important:**\n\n  When you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "DNSSEC-disable_dnssec",
        "parameters": [
          {
            "description": "The domain on which to disable DNSSEC.\n\n**Note:**\n\n To enable DNSSEC on multiple domains, increment the parameter name. For example: `domain-0`, `domain-1`, `domain-2`.",
            "examples": {
              "multiple": {
                "summary": "To enable DNSSEC on multiple domains.",
                "value": "domain-0=example0.com&domain-1=example1.com&domain-2=example2.com"
              },
              "single": {
                "summary": "To enable DNSSEC on a single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disable_dnssec",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNSSEC",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": {
                            "disabled": {
                              "example.com": 1
                            }
                          },
                          "properties": {
                            "disabled": {
                              "description": "An array of objects that contain the domains for which the system disabled DNSSEC.",
                              "properties": {
                                "additionalProperties": {
                                  "description": "Information about the domains for which the system\ndisabled DNSSEC.\n\n* `1` — Disabled.\n* `0` — The system failed to disable DNSSEC.\n\n**Note:**\n\nThis return's name is the `domain` parameter's value.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 1,
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable DNSSEC",
        "tags": [
          "DNSSEC",
          "DNS Security"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  disable_dnssec \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/disable_dnssec?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_disable_dnssec.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_disable_dnssec.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/disable_dnssec/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_disable_dnssec.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_disable_dnssec.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'disable_dnssec',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 60"
      }
    },
    "/DNSSEC/enable_dnssec": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables DNSSEC on the domain.\n\n**Note:**\n\n * After you enable DNSSEC on the domain, you **must** add the DNS records to your registrar.\n * You **cannot** modify the DNSSEC security key. To make any changes, you **must** disable (and delete) and re-create the DNSSEC security key.\n\n**Important:**\n\n  When you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "DNSSEC-enable_dnssec",
        "parameters": [
          {
            "description": "The domain on which to enable DNSSEC.\n\n**Note:**\n\n To enable DNSSEC on multiple domains, increment the parameter name. For example: `domain-0`, `domain-1`, `domain-2`.",
            "examples": {
              "multiple": {
                "summary": "To enable DNSSEC on multiple domains.",
                "value": "domain-0=example0.com&domain-1=example1.com&domain-2=example2.com"
              },
              "single": {
                "summary": "To enable DNSSEC on a single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "Whether to activate the newly-created key.\n\n* `1` — Activate the key.\n* `0` — Do **not** activate the key.",
            "in": "query",
            "name": "active",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The algorithm that the system uses to generate the security key.\n\n* `5` — RSA/SHA-1\n* `6` — DSA-NSEC3-SHA1\n* `7` — RSASHA1-NSEC3-SHA1\n* `8` — RSA/SHA-256\n* `10` — RSA/SHA-512\n* `13` — ECDSA Curve P-256 with SHA-256\n* `14` — ECDSA Curve P-384 with SHA-384\n\n**Note:**\n\n We recommend that you use `ECDSA Curve P-256 with SHA-256` if your registrar supports it.",
            "in": "query",
            "name": "algo_num",
            "required": false,
            "schema": {
              "default": 8,
              "example": 8,
              "maximum": 255,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "The manner in which the system creates the security key.\n\n* `simple` — Use a single key for both KSK and ZSK. Use this value when the `algo_nom` parameter is greater than `8`.\n* `classic` — Use separate keys for KSK and ZSK. Use this value when the `algo_nom` parameter is equal to or less than `8`.",
            "in": "query",
            "name": "key_setup",
            "required": false,
            "schema": {
              "default": "classic",
              "enum": [
                "simple",
                "classic"
              ],
              "example": "classic",
              "type": "string"
            }
          },
          {
            "description": "The number of times that the system rehashes the first resource record hash operation.\n\nA positive integer less than `501`.\n\n**Note:**\n\nIn cPanel & WHM version 132 and earlier, the default value is `7`.",
            "in": "query",
            "name": "nsec3_iterations",
            "required": false,
            "schema": {
              "default": 0,
              "example": 7,
              "maximum": 500,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether NSEC3 will operate in Narrow or Inclusive mode.\n\nIn Narrow mode, PowerDNS sends out white lies about the next secure record. Rather than query the resource record in the database, PowerDNS sends the hash plus `1` as the next secure record.\n\n* `1` — Narrow mode.\n* `0` — Inclusive mode.",
            "in": "query",
            "name": "nsec3_narrow",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether the system will create records for all delegations.\n\n* `1` — Create records for all delegations.\n* `0` — Create records only for secure delegations.\n\n**Note:**\n\n **Only** select `1` if you **must** create records for all delegations.",
            "in": "query",
            "name": "nsec3_opt_out",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "A hexadecimal string that the system appends to the domain name before it applies the hash function to the name. For more information about the salt value, read the [RFC 5155](https://tools.ietf.org/html/rfc5155#section-3.1.5) documentation.\n\n**NOTE:**\n\n* In cPanel & WHM version 132 and later, this parameter also accepts the literal value `-` to indicate that no salt should be used. If you do not declare a value, the system defaults to no salt.\n* In cPanel & WHM version 130 and earlier, if you did not declare a value, the system defaulted to a random 64-bit value.",
            "in": "query",
            "name": "nsec3_salt",
            "required": false,
            "schema": {
              "default": "-",
              "example": "1A2B3C4D5E6F",
              "format": "hex",
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "description": "Whether the domain will use [Next Secure Record](https://tools.ietf.org/html/rfc4470) (NSEC) or NSEC3 semantics.\n\n* `1` — Use NSEC3 semantics.\n* `0` — Use NSEC semantics.\n\n**Note:**\n\n If you use NSEC semantics (`0`), the system ignores the other NSEC3 options.",
            "in": "query",
            "name": "use_nsec3",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "enable_dnssec",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNSSEC",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": {
                            "enabled": {
                              "example.com": {
                                "enabled": 1,
                                "new_key_id": "1",
                                "nsec_version": "NSEC3"
                              }
                            }
                          },
                          "properties": {
                            "enabled": {
                              "description": "An object containing information about the domains for which the system enabled DNSSEC.",
                              "properties": {
                                "additionalProperties": {
                                  "description": "Information about the domain for which the system\nenabled DNSSEC.\n\n**Note:**\n\nThis return's name is the `domain` parameter's value.",
                                  "properties": {
                                    "enabled": {
                                      "description": "Whether the system enabled DNSSEC.\n\n* `1` — The system enabled DNSSEC.\n* `0` — The system failed to enable DNSSEC.",
                                      "enum": [
                                        1,
                                        0
                                      ],
                                      "type": "integer"
                                    },
                                    "new_key_id": {
                                      "description": "The assigned security key ID.",
                                      "example": 1,
                                      "type": "integer"
                                    },
                                    "nsec_version": {
                                      "description": "The version of DNSSEC the system used.\n\n* `NSEC3`\n* `NSEC`",
                                      "enum": [
                                        "NSEC3",
                                        "NSEC"
                                      ],
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable DNSSEC",
        "tags": [
          "DNSSEC",
          "DNS Security"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  enable_dnssec \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/enable_dnssec?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_enable_dnssec.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_enable_dnssec.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/enable_dnssec/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_enable_dnssec.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_enable_dnssec.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'enable_dnssec',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 60"
      }
    },
    "/DNSSEC/export_zone_dnskey": {
      "get": {
        "x-readonly": true,
        "description": "This function exports a domain's DNSKEY record value.\n\n**Important:**\n\nWhen you disable the [_DNS_ role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "DNSSEC-export_zone_dnskey",
        "parameters": [
          {
            "description": "The domain from which to fetch the DNSKEY record value.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The DNSSEC record's ID.",
            "in": "query",
            "name": "key_id",
            "required": true,
            "schema": {
              "example": 12345,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "export_zone_dnskey",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNSSEC",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "dnskey": {
                              "description": "The DNSKEY record value.",
                              "example": "AwEAAch8SGW4vE6PjFWA9rbUm0AfTq+gJ0HC/nLu+2axdWHBIStt9lsOzKDorAr4vlmhlJzEzA62s96xp6mZ7XHUyWnkFwLs8obo6upL2in4h1ToOxzVl3lTs8O+kWtDq5/h1nwFlPDs9zpLJhlkTCtx2OTGbvimEYeqwPolUuSQR/Yb",
                              "type": "string"
                            },
                            "key_id": {
                              "description": "The DNSSEC record's ID.",
                              "example": 12345,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "success": {
                              "description": "Whether the DNSKEY record exported successfully.\n\n* `1` - The system exported the record successfully.\n* `0` - The system failed to export the record.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Export DNSKEY record value",
        "tags": [
          "DNSSEC",
          "DNS Security"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  export_zone_dnskey \\\n  domain='example.com' \\\n  key_id='12345'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/export_zone_dnskey?domain=example.com&key_id=12345"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_export_zone_dnskey.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_export_zone_dnskey.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/export_zone_dnskey/,\n    {\n        'domain' => 'example.com',\n        'key_id' => '12345',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_export_zone_dnskey.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_export_zone_dnskey.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'export_zone_dnskey',\n    array (\n        'domain' => 'example.com',\n        'key_id' => '12345',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 88"
      }
    },
    "/DNSSEC/export_zone_key": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function exports a DNSSEC security key.\n\n**Important:**\n\nWhen you disable the [DNS](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "DNSSEC-export_zone_key",
        "parameters": [
          {
            "description": "The security key's domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The security key's ID.",
            "in": "query",
            "name": "key_id",
            "required": true,
            "schema": {
              "example": 12345,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "export_zone_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNSSEC",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "domain": {
                              "description": "The security key's domain.",
                              "example": "example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "key_content": {
                              "description": "The content of the key, which includes the algorithm.",
                              "example": "Private-key-format: v1.2\nAlgorithm: 8 (RSASHA256)\nModulus: 9i8AlGZkwKJj6HYZX+9OcOyCMQ0L9eHBaTg2Y83cVBSaIyiIWo54QpuiJykiuFYYHihOi+LW8vfU9A9jXLBs7DaeDkXO49OqYxfgD1vwmztJeXCQlmgxqUeD181gtSTNO43uUMkCisZft+OsJ96bdUof1UeJ1+IuSENBr1TZgYjmzBgIkmjdv8T5muPaaDfeOISLJKGOG2gI0xlyQ39ppd3CeB90cpIvFpCGjNC8nGvIqN4oyny6NftcEhaRFudbEhB6t2gI362wS5ohERK1F1rBTt+mqUwszCv46Y6p3Za3PsebWK7fR6ITnsW7KGyn3r8BxpJTHlHMwOtBPosaXw==\nPublicExponent: AQAB\nPrivateExponent: MZO5nCkatSh+0jumVImO1HLsrRAhjnzORHBLk8HLUytq9xWckBAM6+0HtLc2BMVhygD4AHfILdn3CsdmjS4CYXeGUP2B8qOXtqkCOFWdmMVRwKEInSGSjrKWPIlhplko84tbqO0yE9xrPk8dRlIwIGizDHKBsfYct/TDb5m4y7rvEHcBSm2DZz7AQL1qqC/WYI54qxHFXTId+nKsYMx/alRUV3AOSL20VSgL56VcM1luFS76ylDIWEOrQVyTFCtEcHvw3FLIOEVCM/CAErLFNlFdXHnYcRYnG/oXcsPW0DjpPNrqx8iaAOuhYFd/pu9CvKQnxYLLqXByOkSUIO3ggQ==\nPrime1: /mtiBD3gJ5Yu5ARsLew4eohRAobl4c3Bt9Gw62wmHiOJfgjbnY91H/bxc/ilnQh92yZUfxfm5z6FXEqluh0ZN3BOQTwzUEuTT9Pn00FhRfemL0UMpHn0BkoXCLwjs1XRyI0hXTOhGhH7XVczuYw/S7kWT5Cmfo4MODZ6cooR8SE=\nPrime2: 97aFfZxJcTYTKkZTc7yeUQVWTtKF25L780TRuCiG83hTSNKlmuWE2bAU/Cl2CX2NdW5sBmO5z9fEI5rA8LhuWHlKF82cXg1h50CsXkaAhFKrThMmb6SRSjIksxlz7rtK777z4En/V9v3l1yKcQ5eSQYQRHg1cCkn6NNlZPZ2G38=\nExponent1: LoHarQPSken2MGBOliZ0PJHmnRujsh82pi+Cs8ZVQXUlkRB1dNvggTNW9+gf/hCrUQA0ufbYkrTvE+vhV6AyF9xDsdEbYDYwe4s0+X0eFvgqPMHWicpxPSUWCNa7f/DUJGEIFE13yZg35twl7GkiuOjglzLN/Jxix3PN9loe5YE=\nExponent2: Mya4iAimzb7p1DfzcZnIY1ijyuEEDSRb7I8Qc2PDAjGdmRMOaV7twPnwS2XQXwNTG6Wyntsm+nlGokeJgevDtXdOSn4FxRIkXllnfow2a5yajSO9Mx6bdePG2kjuPKTmQ3195JnDJYRhqxrL566c351l7I2aE1AcUqKcdG3EU8c=\nCoefficient: T4dFDz5pQhVUQSjV0hhKHHZ1wBxiXdZeCFIfbyypWEdxGXdX2lIN264u9cGQhI+iExTEjZCaYASMBzOqnIhkHhj0M1DGYrhRCdTpgxmDwdcHniRl/XMxPGqpmsP4WFCBxmIbr3SdnqoiPMXix0SjWkHTisq5i09DBMNGIGQyqS8=\n\n",
                              "type": "string"
                            },
                            "key_id": {
                              "description": "The security key's ID.",
                              "example": 12345,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "key_tag": {
                              "description": "The security key's internal identifier.",
                              "example": 51640,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "key_type": {
                              "description": "The security key's signing type.\n\n* `CSK` - Combined Signing Key.\n* `KSK` - Key Signing Key.\n* `ZSK` - Zone Signing Key.",
                              "enum": [
                                "CSK",
                                "KSK",
                                "ZSK"
                              ],
                              "example": "KSK",
                              "type": "string"
                            },
                            "success": {
                              "description": "Whether the function succeeded.\n\n* `1` - The function succeeded.\n* `0` - The function failed.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Export DNSSEC security key",
        "tags": [
          "DNSSEC",
          "DNS Security"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  export_zone_key \\\n  domain='example.com' \\\n  key_id='12345'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/export_zone_key?domain=example.com&key_id=12345"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_export_zone_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_export_zone_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/export_zone_key/,\n    {\n        'domain' => 'example.com',\n        'key_id' => '12345',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_export_zone_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_export_zone_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'export_zone_key',\n    array (\n        'domain' => 'example.com',\n        'key_id' => '12345',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/DNSSEC/fetch_ds_records": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function fetches a domain's Delegation of Signing (DS) records.\n\n**Important:**\n\nWhen you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "DNSSEC-fetch_ds_records",
        "parameters": [
          {
            "description": "The domain from which to fetch DS records.\n\n**Note:**\n\n To enable DNSSEC on multiple domains, increment the parameter name. For example: `domain-0`, `domain-1`, `domain-2`.",
            "examples": {
              "multiple": {
                "summary": "To fetch DS records on multiple domains.",
                "value": "domain-0=example0.com&domain-1=example1.com&domain-2=example2.com"
              },
              "single": {
                "summary": "To fetch DS records on a single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fetch_ds_records",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNSSEC",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": {
                            "example.com": {
                              "keys": {
                                "33930": {
                                  "active": 1,
                                  "algo_desc": "RSA/SHA-256",
                                  "algo_num": "8",
                                  "algo_tag": "RSASHA256",
                                  "bits": 1024,
                                  "created": "1590002705",
                                  "flags": 256,
                                  "key_id": 2,
                                  "key_tag": 33930,
                                  "key_type": "ZSK",
                                  "privatekey": "Private-key-format: v1.2\nAlgorithm: 8 (RSASHA256)\nModulus: wcZl882v587qKmt3M7+y6u+kzSgCvfgyiSGQHE2EulDcAnfEmz/ryanXMveHGBsO4L/GynYYUUsGvD2jHK1ITh8CeISiqmbUmPolf9HLQgwcT5pVcvwJ0Wmzpw5Ukmx67N7TTX+yieI5OyflP23GnJYQ5EQUzBu/DhdxhL90hYU=\nPublicExponent: AQAB\nPrivateExponent: EnoBdKrTMA5Jw7u1hQitXbt2Al3jTQvifbLmk9xMYJufLtkOtSL2L6dzLpftmL3TwFho8xspnG7D+KUD7ZMURrwxnLlqTttaL2PeaYJdQ184ezuflExppkDkdTEOqcIUuSylfAbyIdeGkVFuWr0cdjM9OFKMAkoYaVeAUP0SYU0=\nPrime1: 4eslxBBwyvXzmFqKx5TTiHfU7EHIAxUru3ykOMqD2tVMHbRAq5AMKZL6ZhuTXk8mnGppEfC6qqNKnf3VT5jLxw==\nPrime2: 25OUAsWWAJrQ4uLytsXoSbjHsVyh61DgZ4S4n2Mv7RsSHt0Q/VcuyvHXuAKb8Y0XCYczZBtEW+ZoPte/HHnsUw==\nExponent1: Xkb4AqLtvvT2i8y0/2avA9MmCtXEtuydzGbOTVjNv4OlePvgxPee67aHQhcd34xeS4XohPEVpOHx4I6t9sKHvw==\nExponent2: ulZDBRcodNrs6Z4u22yX8/gbfyhdQJUh2reG9bv2sAB/wEJaaKPT0eXqav3L2PKfCjbyJcH+AP9G+A2e4UuWgQ==\nCoefficient: mynNLSgStpQMktIEdysefyOg5jpXE3VeDZF6fbEOUg+E2ZnLBkLu4KPrriCwfl+cLagwgzx2M6wV/1QWkm8vPQ=="
                                },
                                "nsec_details": {
                                  "nsec3_hash_algo_desc": "SHA-1",
                                  "nsec3_hash_algo_num": "1",
                                  "nsec3_iterations": "3",
                                  "nsec3_narrow": 1,
                                  "nsec3_opt_out": "0",
                                  "nsec3_salt": "fa1ac2c1rd7fbab4",
                                  "nsec_version": "NSEC3"
                                }
                              }
                            }
                          },
                          "properties": {
                            "additionalProperties": {
                              "description": "An object containing the domain's DS record information.\n\n**Note:**\n\nThe return's name is the domain's name.",
                              "properties": {
                                "keys": {
                                  "description": "The DS keys on the requested domain.",
                                  "properties": {
                                    "additionalProperties": {
                                      "description": "The information related to the domain's DNSSEC record.\n\n**Note:**\n\nThe return's name is the `key_tag` return's integer value.",
                                      "properties": {
                                        "active": {
                                          "description": "Whether the DS key is active.\n\n* `1` - Active.\n* `0` - Inactive.",
                                          "enum": [
                                            0,
                                            1
                                          ],
                                          "example": 1,
                                          "type": "integer"
                                        },
                                        "algo_desc": {
                                          "description": "A description of the algorithm\nthat the DS key uses.",
                                          "example": "RSA/SHA-256",
                                          "type": "string"
                                        },
                                        "algo_num": {
                                          "description": "The algorithm the system generated for the security key.\n\n* `5` - RSA/SHA-1\n* `6` - DSA-NSEC3-SHA1\n* `7` - RSASHA1-NSEC3-SHA1\n* `8` - RSA/SHA-256\n* `10` - RSA/SHA-512\n* `13` - ECDSA Curve P-256 with SHA-256\n* `14` - ECDSA Curve P-384 with SHA-384",
                                          "enum": [
                                            5,
                                            6,
                                            7,
                                            8,
                                            10,
                                            13,
                                            14
                                          ],
                                          "example": 8,
                                          "type": "integer"
                                        },
                                        "algo_tag": {
                                          "description": "The short-form reference to the algorithm.",
                                          "example": "RSASHA256",
                                          "type": "string"
                                        },
                                        "bits": {
                                          "description": "The DS key's size, in bits.",
                                          "example": 2048,
                                          "minimum": 1,
                                          "multipleOf": 64,
                                          "type": "integer"
                                        },
                                        "created": {
                                          "description": "The key's creation time.",
                                          "example": 1590002705,
                                          "format": "unix_timestamp",
                                          "type": "integer"
                                        },
                                        "digests": {
                                          "description": "The information that\n the registrar uses to populate the DS records.",
                                          "items": {
                                            "properties": {
                                              "algo_desc": {
                                                "description": "A description of the algorithm\n that the DS key uses.",
                                                "example": "SHA-256",
                                                "type": "string"
                                              },
                                              "algo_num": {
                                                "description": "A IETF-recognized DNSSEC Algorithm Number.",
                                                "example": 2,
                                                "minimum": 1,
                                                "type": "integer"
                                              },
                                              "digest": {
                                                "description": "The actual digest in the DS record.",
                                                "example": "4de3e58f1238fb7fc7caa84389ef6fa27d42572c35f1152c7f2ea3b899400019",
                                                "type": "string"
                                              }
                                            },
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "flags": {
                                          "description": "An integer that determines the `key_type` value.\n\n* `256` - A Zone Signing Key (ZSK).\n* `257` - A Combined Signing Key (CSK) or Key Signing Key (KSK).",
                                          "enum": [
                                            256,
                                            257
                                          ],
                                          "example": 257,
                                          "type": "integer"
                                        },
                                        "key_id": {
                                          "description": "PowerDNS's internal identifier.",
                                          "example": 1,
                                          "minimum": 1,
                                          "type": "integer"
                                        },
                                        "key_tag": {
                                          "description": "The DS key's identification number.",
                                          "example": 34519,
                                          "minimum": 1,
                                          "type": "integer"
                                        },
                                        "key_type": {
                                          "description": "The DS key's signing type.\n* `CSK` - Combined Signing Key.\n* `KSK` - Key Signing Key.\n* `ZSK` - Zone Signing Key.",
                                          "enum": [
                                            "CSK",
                                            "KSK",
                                            "ZSK"
                                          ],
                                          "example": "KSK",
                                          "type": "string"
                                        },
                                        "privatekey": {
                                          "description": "The DS key's private key, in ISC format.",
                                          "example": "Private-key-format: v1.2\nAlgorithm: 8 (RSASHA256)\nModulus: wcZl882v587qKmt3M7+y6u+kzSgCvfgyiSGQHE2EulDcAnfEmz/ryanXMveHGBsO4L/GynYYUUsGvD2jHK1ITh8CeISiqmbUmPolf9HLQgwcT5pVcvwJ0Wmzpw5Ukmx67N7TTX+yieI5OyflP23GnJYQ5EQUzBu/DhdxhL90hYU=\nPublicExponent: AQAB\nPrivateExponent: EnoBdKrTMA5Jw7u1hQitXbt2Al3jTQvifbLmk9xMYJufLtkOtSL2L6dzLpftmL3TwFho8xspnG7D+KUD7ZMURrwxnLlqTttaL2PeaYJdQ184ezuflExppkDkdTEOqcIUuSylfAbyIdeGkVFuWr0cdjM9OFKMAkoYaVeAUP0SYU0=\nPrime1: 4eslxBBwyvXzmFqKx5TTiHfU7EHIAxUru3ykOMqD2tVMHbRAq5AMKZL6ZhuTXk8mnGppEfC6qqNKnf3VT5jLxw==\nPrime2: 25OUAsWWAJrQ4uLytsXoSbjHsVyh61DgZ4S4n2Mv7RsSHt0Q/VcuyvHXuAKb8Y0XCYczZBtEW+ZoPte/HHnsUw==\nExponent1: Xkb4AqLtvvT2i8y0/2avA9MmCtXEtuydzGbOTVjNv4OlePvgxPee67aHQhcd34xeS4XohPEVpOHx4I6t9sKHvw==\nExponent2: ulZDBRcodNrs6Z4u22yX8/gbfyhdQJUh2reG9bv2sAB/wEJaaKPT0eXqav3L2PKfCjbyJcH+AP9G+A2e4UuWgQ==\nCoefficient: mynNLSgStpQMktIEdysefyOg5jpXE3VeDZF6fbEOUg+E2ZnLBkLu4KPrriCwfl+cLagwgzx2M6wV/1QWkm8vPQ==",
                                          "type": "string"
                                        }
                                      },
                                      "type": "object"
                                    }
                                  },
                                  "type": "object"
                                },
                                "nsec_details": {
                                  "description": "An object containing the [Next Secure Record](https://tools.ietf.org/html/rfc4470) (NSEC) information for the selected domain.\n\n**Note:**\n\n If the domain uses NSEC semantics, only the `nsec_version` return appears in the object.",
                                  "properties": {
                                    "nsec3_hash_algo_desc": {
                                      "description": "A description of the NSEC3 key's algorithm.",
                                      "example": "SHA-1",
                                      "type": "string"
                                    },
                                    "nsec3_hash_algo_num": {
                                      "description": "The DNSSEC Digest Algorithm Number.",
                                      "example": 1,
                                      "type": "integer"
                                    },
                                    "nsec3_iterations": {
                                      "description": "The number of times that the system rehashes the first hash operation.",
                                      "example": 12,
                                      "type": "integer"
                                    },
                                    "nsec3_narrow": {
                                      "description": "Whether NSEC3 will operate in Narrow or Inclusive mode.\n\n* `1` - Narrow mode.\n* `0` - Inclusive mode.\n\n**Note:**\n\n For more information about these modes, read [PowerDNS's DNSSEC documentation](https://doc.powerdns.com/authoritative/dnssec/intro.html).",
                                      "enum": [
                                        0,
                                        1
                                      ],
                                      "example": 1,
                                      "type": "integer"
                                    },
                                    "nsec3_opt_out": {
                                      "description": "Whether NSEC3 will create records for all delegations or only for secure delegations.\n\n* `1` - Create records for all delegations.\n* `0` - Create records only for secure delegations.",
                                      "enum": [
                                        0,
                                        1
                                      ],
                                      "example": 1,
                                      "type": "integer"
                                    },
                                    "nsec3_salt": {
                                      "description": "The salt value that PowerDNS uses in the hashes.\n\n**Note:**\n\n For more information about the salt value, read [RFC 5155](https://tools.ietf.org/html/rfc5155#section-3.1.5).",
                                      "example": "fa1ac2c1rd7fbab4",
                                      "format": "hex",
                                      "type": "string"
                                    },
                                    "nsec_version": {
                                      "description": "Whether the domain uses NSEC or [Next Secure Record version 3](https://tools.ietf.org/html/rfc5155) (NSEC3) [Domain Name Security Extensions](https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions) (DNSSEC) semantics.\n\n* `NSEC`\n* `NSEC3`",
                                      "enum": [
                                        "NSEC",
                                        "NSEC3"
                                      ],
                                      "example": "NSEC",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return domain's DS records",
        "tags": [
          "DNSSEC",
          "DNS Security"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  fetch_ds_records \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/fetch_ds_records?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_fetch_ds_records.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_fetch_ds_records.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/fetch_ds_records/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_fetch_ds_records.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_fetch_ds_records.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'fetch_ds_records',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/DNSSEC/import_zone_key": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function imports a DNSSEC security key.\n\n**Important:**\n\nWhen you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "DNSSEC-import_zone_key",
        "parameters": [
          {
            "description": "The security key's domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The security key data that the [`pdnsutil`](https://doc.powerdns.com/authoritative/manpages/pdnsutil.1.html)\nutility's `export-zone-key` call returns.",
            "in": "query",
            "name": "key_data",
            "required": true,
            "schema": {
              "example": "Private-key-format:%20v1.2%0AAlgorithm:%2013%20\\(ECDSAP256SHA256\\)%0APrivateKey:%20xCM281KtWE9oCsUX8fP1hDZ02/X7JCjp4QZA/DZjfX0=%0A%0A",
              "type": "string"
            }
          },
          {
            "description": "The security key's type.\n\n* `ksk`\n* `zsk`",
            "in": "query",
            "name": "key_type",
            "required": true,
            "schema": {
              "enum": [
                "ksk",
                "zsk"
              ],
              "example": "ksk",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "import_zone_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNSSEC",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": {
                            "domain": "example.com",
                            "new_key_id": "1",
                            "success": 1
                          },
                          "properties": {
                            "domain": {
                              "description": "The domain for which the system imported the zone key.",
                              "example": "example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "error": {
                              "description": "An error message that describes why the system could not import the security key.\n\n**Note:**\n\nThe function **only** displays this return when the `success` return is a `0` value.",
                              "example": "Error: Invalid key_id or domain specified: No such key present for domain.",
                              "type": "string"
                            },
                            "new_key_id": {
                              "description": "The security key's ID.",
                              "example": "1",
                              "type": "string"
                            },
                            "success": {
                              "description": "Whether the system imported the security key.\n\n* `1` - The system imported the security key.\n* `0` - The system **failed** to import the security key.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add DNSSEC security key",
        "tags": [
          "DNSSEC",
          "DNS Security"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  import_zone_key \\\n  domain='example.com' \\\n  key_type='ksk' \\\n  key_data=$'Private-key-format:%20v1.2%0AAlgorithm:%2013%20\\\\(ECDSAP256SHA256\\\\)%0APrivateKey:%20xCM281KtWE9oCsUX8fP1hDZ02/X7JCjp4QZA/DZjfX0=%0A%0A'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/import_zone_key?domain=example.com&key_type=ksk&key_data=Private-key-format%3a%2520v1.2%250AAlgorithm%3a%252013%2520%5c%28ECDSAP256SHA256%5c%29%250APrivateKey%3a%2520xCM281KtWE9oCsUX8fP1hDZ02%2fX7JCjp4QZA%2fDZjfX0%3d%250A%250A"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_import_zone_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_import_zone_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/import_zone_key/,\n    {\n        'domain' => 'example.com',\n        'key_type' => 'ksk',\n        'key_data' => 'Private-key-format:%20v1.2%0AAlgorithm:%2013%20\\(ECDSAP256SHA256\\)%0APrivateKey:%20xCM281KtWE9oCsUX8fP1hDZ02/X7JCjp4QZA/DZjfX0=%0A%0A',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_import_zone_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_import_zone_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'import_zone_key',\n    array (\n        'domain' => 'example.com',\n        'key_type' => 'ksk',\n        'key_data' => 'Private-key-format:%20v1.2%0AAlgorithm:%2013%20\\(ECDSAP256SHA256\\)%0APrivateKey:%20xCM281KtWE9oCsUX8fP1hDZ02/X7JCjp4QZA/DZjfX0=%0A%0A',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/DNSSEC/remove_zone_key": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function removes a DNSSEC security key.\n\n**Important:**\n\nWhen you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "DNSSEC-remove_zone_key",
        "parameters": [
          {
            "description": "The security key's domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The security key's ID.",
            "in": "query",
            "name": "key_id",
            "required": true,
            "schema": {
              "example": 1,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "remove_zone_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNSSEC",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": {
                            "domain": "example.com",
                            "key_id": "12",
                            "success": 1
                          },
                          "properties": {
                            "domain": {
                              "description": "The domain for which the system removed a security key.",
                              "example": "example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "error": {
                              "description": "An error message that describes why the system could not remove the security key.\n\n**Note:**\n\nThe function **only** displays this return when the `success` return is a `0` value.",
                              "example": "Error: Invalid key_id or domain specified: No such key present for domain.",
                              "type": "string"
                            },
                            "key_id": {
                              "description": "The security key's ID.",
                              "example": "1",
                              "type": "string"
                            },
                            "success": {
                              "description": "Whether the system removed the security key.\n\n* `1` — The system removed the security key.\n* `0` — The system failed to remove the security key.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove DNSSEC security key",
        "tags": [
          "DNSSEC",
          "DNS Security"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  remove_zone_key \\\n  domain='example.com' \\\n  key_id='1'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/remove_zone_key?domain=example.com&key_id=1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_remove_zone_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_remove_zone_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/remove_zone_key/,\n    {\n        'domain' => 'example.com',\n        'key_id' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_remove_zone_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_remove_zone_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'remove_zone_key',\n    array (\n        'domain' => 'example.com',\n        'key_id' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/DNSSEC/set_nsec3": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function configures the domain to use [Next Secure Record 3](https://tools.ietf.org/html/rfc4470) (NSEC3) semantics.\n\n**Important:**\n\n  When you disable the [DNS role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "DNSSEC-set_nsec3",
        "parameters": [
          {
            "description": "The domain on which to enable NSEC3 semantics.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The number of times that the system re-executes the first resource record hash operation.",
            "in": "query",
            "name": "nsec3_iterations",
            "required": true,
            "schema": {
              "example": 7,
              "maximum": 500,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether NSEC3 will operate in Narrow mode or Inclusive mode. In Narrow mode, PowerDNS sends out white lies about the next secure record. Rather than query the resource record in the database, PowerDNS sends the hash plus 1 as the next secure record.\n* `1` - Narrow mode. * `0` - Inclusive mode.",
            "in": "query",
            "name": "nsec3_narrow",
            "required": true,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether the system will create records for all delegations.\n\n* `1` - Create records for all delegations.\n* `0` - Create records **only** for secure delegations.\n\n**Note:**\n\n  **Only** select `1` if you **must** create records for all delegations.",
            "in": "query",
            "name": "nsec3_opt_out",
            "required": true,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "The salt value that PowerDNS uses in the hashes. For more information about the salt value, read the [RFC 5155 documentation](https://tools.ietf.org/html/rfc5155).\n\n **Note:**\n\n In cPanel & WHM version 132 and later, this parameter also accepts the literal value `-` to indicate no salt value.",
            "in": "query",
            "name": "nsec3_salt",
            "required": true,
            "schema": {
              "example": "1A2B3C4D5E6F",
              "format": "hex",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_nsec3",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNSSEC",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "enabled": {
                              "additionalProperties": {
                                "description": "Whether the system enabled NSEC3 on the domain.\n\n  * `1` - Enabled.\n  * `0` - The system failed to enable NSEC3.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "type": "integer"
                              },
                              "description": "Contains the domains for which the system enabled NSEC3.\n\n**Note:**\n\nThis return's name is the `domain` parameter's value.",
                              "example": {
                                "example1.com": 1
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update domain to use NSEC3",
        "tags": [
          "DNSSEC",
          "DNS Security"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  set_nsec3 \\\n  domain='example.com' \\\n  nsec3_opt_out='0' \\\n  nsec3_iterations='0' \\\n  nsec3_narrow='1' \\\n  nsec3_salt='-'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/set_nsec3?domain=example.com&nsec3_opt_out=0&nsec3_iterations=0&nsec3_narrow=1&nsec3_salt=-"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_set_nsec3.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_set_nsec3.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/set_nsec3/,\n    {\n        'domain' => 'example.com',\n        'nsec3_opt_out' => '0',\n        'nsec3_iterations' => '0',\n        'nsec3_narrow' => '1',\n        'nsec3_salt' => '-',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_set_nsec3.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_set_nsec3.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'set_nsec3',\n    array (\n        'domain' => 'example.com',\n        'nsec3_opt_out' => '0',\n        'nsec3_iterations' => '0',\n        'nsec3_narrow' => '1',\n        'nsec3_salt' => '-',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 60"
      }
    },
    "/DNSSEC/unset_nsec3": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function configures the domain to use [Next Secure Record](https://tools.ietf.org/html/rfc4470) (NSEC) semantics instead of Next Secure Record 3 (NSEC3) semantics.\n\n**Important:**\n\n  When you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "DNSSEC-unset_nsec3",
        "parameters": [
          {
            "description": "The domain on which to disable NSEC3 semantics and use NSEC semantics.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "unset_nsec3",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DNSSEC",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": {
                            "disabled": {
                              "example.com": 1
                            }
                          },
                          "properties": {
                            "disabled": {
                              "description": "A list of the domains for which the system disabled NSEC3.",
                              "properties": {
                                "additionalProperties": {
                                  "description": "Whether the system disabled NSEC3 on the domain.\n\n* `1` — Disabled.\n* `0` — The system failed to disable NSEC3.\n\n**Note:**\n\nThis return's name is the `domain` parameter's value.",
                                  "enum": [
                                    1,
                                    0
                                  ],
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update domain to use NSEC",
        "tags": [
          "DNSSEC",
          "DNS Security"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DNSSEC \\\n  unset_nsec3 \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DNSSEC/unset_nsec3?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DNSSEC_unset_nsec3.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DNSSEC_unset_nsec3.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DNSSEC/,\n    q/unset_nsec3/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DNSSEC_unset_nsec3.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DNSSEC_unset_nsec3.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DNSSEC',\n    'unset_nsec3',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 60"
      }
    },
    "/DirectoryIndexes/get_indexing": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the directory indexing settings for a directory on the cPanel account and its subdirectories.",
        "operationId": "DirectoryIndexes-get_indexing",
        "parameters": [
          {
            "description": "The directory for which to check the indexing type.",
            "in": "query",
            "name": "dir",
            "required": true,
            "schema": {
              "example": "/home/example/example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_indexing",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DirectoryIndexes",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The directory's indexing type.\n- standard  The directory uses directory indexing with standard formatting.\n- disabled  The directory doesn't use directory indexing.\n- inherit  The directory uses the system's default settings.\n- fancy  The directory uses directory indexing with Apache FancyIndexing directive. The directory will include additional information such as file size and the date of the file's last update.",
                          "example": "disabled",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return directory indexing settings",
        "tags": [
          "DirectoryIndexes",
          "Directory Indexes"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryIndexes \\\n  get_indexing \\\n  dir='/home/example/example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DirectoryIndexes/get_indexing?dir=%2fhome%2fexample%2fexample.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryIndexes_get_indexing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryIndexes_get_indexing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryIndexes/,\n    q/get_indexing/,\n    {\n        'dir' => '/home/example/example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryIndexes_get_indexing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryIndexes_get_indexing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryIndexes',\n    'get_indexing',\n    array (\n        'dir' => '/home/example/example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 88"
      }
    },
    "/DirectoryIndexes/list_directories": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function returns the [directory indexing](https://go.cpanel.net/cpaneldocsIndexes) settings of the subdirectories in a directory.",
        "operationId": "DirectoryIndexes-list_directories",
        "parameters": [
          {
            "description": "The absolute path of the directory for which to return indexing information.",
            "in": "query",
            "name": "dir",
            "required": true,
            "schema": {
              "example": "/home/example/example.com",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_directories",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DirectoryIndexes",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "children": {
                              "description": "Subdirectories and their indexing information.\n\n**Note:**\n\nThe function returns an object for each subdirectory in a directory.",
                              "items": {
                                "properties": {
                                  "path": {
                                    "description": "The subdirectory's absolute path.",
                                    "example": "/home/example/example.com/cgi-bin",
                                    "format": "path",
                                    "type": "string"
                                  },
                                  "state": {
                                    "description": "The subdirectory's indexing information.",
                                    "properties": {
                                      "index_type": {
                                        "$ref": "#/components/schemas/index_type"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "current": {
                              "description": "The user's current directory and its indexing information.",
                              "properties": {
                                "path": {
                                  "description": "The current directory's absolute path.",
                                  "example": "/home/example/example.com",
                                  "format": "path",
                                  "type": "string"
                                },
                                "state": {
                                  "description": "The current directory's indexing information.",
                                  "properties": {
                                    "index_type": {
                                      "$ref": "#/components/schemas/index_type"
                                    }
                                  },
                                  "type": "object"
                                }
                              },
                              "type": "object"
                            },
                            "home": {
                              "description": "The user's home directory and its indexing information.",
                              "properties": {
                                "path": {
                                  "description": "The home directory's absolute path.",
                                  "example": "/home/example",
                                  "format": "path",
                                  "type": "string"
                                },
                                "state": {
                                  "description": "An object containing the home directory's indexing information.",
                                  "properties": {
                                    "index_type": {
                                      "$ref": "#/components/schemas/index_type"
                                    }
                                  },
                                  "type": "object"
                                }
                              },
                              "type": "object"
                            },
                            "parent": {
                              "description": "The current directory’s parent directory and its indexing information.",
                              "properties": {
                                "path": {
                                  "description": "The parent directory's absolute path.",
                                  "example": "/home/example",
                                  "format": "path",
                                  "type": "string"
                                },
                                "state": {
                                  "description": "The parent directory's indexing information.",
                                  "properties": {
                                    "index_type": {
                                      "$ref": "#/components/schemas/index_type"
                                    }
                                  },
                                  "type": "object"
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return subdirectories directory indexing settings",
        "tags": [
          "DirectoryIndexes",
          "Directory Indexes"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryIndexes \\\n  list_directories \\\n  dir='/home/example/example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DirectoryIndexes/list_directories?dir=%2fhome%2fexample%2fexample.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryIndexes_list_directories.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryIndexes_list_directories.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryIndexes/,\n    q/list_directories/,\n    {\n        'dir' => '/home/example/example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryIndexes_list_directories.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryIndexes_list_directories.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryIndexes',\n    'list_directories',\n    array (\n        'dir' => '/home/example/example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 88"
      }
    },
    "/DirectoryIndexes/set_indexing": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function configures the [directory indexing](https://go.cpanel.net/cpaneldocsIndexes) settings for a directory on the cPanel account.",
        "operationId": "DirectoryIndexes-set_indexing",
        "parameters": [
          {
            "description": "The directory for which to manage directory indexing.",
            "in": "query",
            "name": "dir",
            "required": true,
            "schema": {
              "example": "/home/example/example.com",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "The type of directory indexing.\n\n* `standard` — The directory uses directory indexing with standard formatting.\n* `disabled` — The directory doesn't use directory indexing.\n* `inherit` — The directory uses the system's default settings.\n* `fancy` — The directory uses directory indexing with Apache FancyIndexing directive. The directory will include additional information such as file size and the date of the file's last update.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "enum": [
                "standard",
                "disabled",
                "inherit",
                "fancy"
              ],
              "example": "inherit",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_indexing",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DirectoryIndexes",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The directory's indexing type.\n* `standard` — The directory uses directory indexing with standard formatting.\n* `disabled` — The directory doesn't use directory indexing.\n* `inherit` — The directory uses the system's default settings.\n* `fancy` — The directory uses directory indexing with Apache FancyIndexing directive. The directory will include additional information such as file size and the date of the file's last update.",
                          "enum": [
                            "standard",
                            "disabled",
                            "inherit",
                            "fancy"
                          ],
                          "example": "disabled",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update directory indexing settings",
        "tags": [
          "DirectoryIndexes",
          "Directory Indexes"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryIndexes \\\n  set_indexing \\\n  dir='/home/example/example.com' \\\n  type='inherit'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DirectoryIndexes/set_indexing?dir=%2fhome%2fexample%2fexample.com&type=inherit"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryIndexes_set_indexing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryIndexes_set_indexing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryIndexes/,\n    q/set_indexing/,\n    {\n        'dir' => '/home/example/example.com',\n        'type' => 'inherit',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryIndexes_set_indexing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryIndexes_set_indexing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryIndexes',\n    'set_indexing',\n    array (\n        'dir' => '/home/example/example.com',\n        'type' => 'inherit',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 88"
      }
    },
    "/DirectoryPrivacy/add_user": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function adds a user who can access a protected directory on the cPanel account.",
        "operationId": "DirectoryPrivacy-add_user",
        "parameters": [
          {
            "description": "The directory to add users to.",
            "in": "query",
            "name": "dir",
            "required": true,
            "schema": {
              "example": "/home/example/example.com",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "The password for the user.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "123456luggage",
              "type": "string"
            }
          },
          {
            "description": "The username of the user who can access the directory.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "example1",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_user",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DirectoryPrivacy",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add authorized user for protected directory",
        "tags": [
          "DirectoryPrivacy",
          "Directory Privacy"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryPrivacy \\\n  add_user \\\n  dir='/home/example/example.com' \\\n  user='example1' \\\n  password='123456luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DirectoryPrivacy/add_user?dir=%2fhome%2fexample%2fexample.com&user=example1&password=123456luggage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryPrivacy_add_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_add_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryPrivacy/,\n    q/add_user/,\n    {\n        'dir' => '/home/example/example.com',\n        'user' => 'example1',\n        'password' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryPrivacy_add_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_add_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryPrivacy',\n    'add_user',\n    array (\n        'dir' => '/home/example/example.com',\n        'user' => 'example1',\n        'password' => '123456luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 88"
      }
    },
    "/DirectoryPrivacy/configure_directory_protection": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function enables or disables password protection for a directory on the cPanel account.",
        "operationId": "DirectoryPrivacy-configure_directory_protection",
        "parameters": [
          {
            "description": "The name of the directory protection authorization instance.\n\n**Note:**\n\n**Only** use this parameter when you enable password protection.",
            "in": "query",
            "name": "authname",
            "required": true,
            "schema": {
              "example": "protectandserve",
              "type": "string"
            }
          },
          {
            "description": "The absolute or relative directory path for which to enable or disable password protection.",
            "in": "query",
            "name": "dir",
            "required": true,
            "schema": {
              "example": "/home/example/example.com",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "Whether to enable password protection for the directory.\n* `1` - Enable.\n* `0` - Disable.",
            "in": "query",
            "name": "enabled",
            "required": true,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "configure_directory_protection",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DirectoryPrivacy",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "auth_name": {
                              "description": "The authentication resource name.",
                              "example": "protectandserve",
                              "type": "string"
                            },
                            "auth_type": {
                              "description": "The directory's authentication type.\n* `Basic`\n* `None`",
                              "enum": [
                                "Basic",
                                "None"
                              ],
                              "example": "Basic",
                              "type": "string"
                            },
                            "passwd_file": {
                              "description": "The path to the directory's password file.",
                              "example": "/home/example/.htpasswds/example.com/passwd",
                              "format": "path",
                              "type": "string"
                            },
                            "protected": {
                              "description": "Whether the directory uses password protection.\n* `1` - Protected.\n* `0` - **Not** protected.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable or disable protected directory",
        "tags": [
          "DirectoryPrivacy",
          "Directory Privacy"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryPrivacy \\\n  configure_directory_protection \\\n  dir='/home/example/example.com' \\\n  enabled='1' \\\n  authname='protectandserve'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DirectoryPrivacy/configure_directory_protection?dir=%2fhome%2fexample%2fexample.com&enabled=1&authname=protectandserve"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryPrivacy_configure_directory_protection.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_configure_directory_protection.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryPrivacy/,\n    q/configure_directory_protection/,\n    {\n        'dir' => '/home/example/example.com',\n        'enabled' => '1',\n        'authname' => 'protectandserve',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryPrivacy_configure_directory_protection.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_configure_directory_protection.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryPrivacy',\n    'configure_directory_protection',\n    array (\n        'dir' => '/home/example/example.com',\n        'enabled' => '1',\n        'authname' => 'protectandserve',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 88"
      }
    },
    "/DirectoryPrivacy/delete_user": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes a user who can access a protected directory on the cPanel account.",
        "operationId": "DirectoryPrivacy-delete_user",
        "parameters": [
          {
            "description": "The absolute directory path on the cPanel account from which to remove a user.",
            "in": "query",
            "name": "dir",
            "required": true,
            "schema": {
              "example": "/home/example/example.com",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "The username to remove from the directory.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "example1",
              "format": "username",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_user",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DirectoryPrivacy",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete authorized user for protected directory",
        "tags": [
          "DirectoryPrivacy",
          "Directory Privacy"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryPrivacy \\\n  delete_user \\\n  dir='/home/example/example.com' \\\n  user='example1'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DirectoryPrivacy/delete_user?dir=%2fhome%2fexample%2fexample.com&user=example1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryPrivacy_delete_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_delete_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryPrivacy/,\n    q/delete_user/,\n    {\n        'dir' => '/home/example/example.com',\n        'user' => 'example1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryPrivacy_delete_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_delete_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryPrivacy',\n    'delete_user',\n    array (\n        'dir' => '/home/example/example.com',\n        'user' => 'example1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 88"
      }
    },
    "/DirectoryPrivacy/is_directory_protected": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function confirms whether a directory uses password protection.",
        "operationId": "DirectoryPrivacy-is_directory_protected",
        "parameters": [
          {
            "description": "The absolute directory path on the cPanel account to check for password protection.",
            "in": "query",
            "name": "dir",
            "required": true,
            "schema": {
              "example": "/home/example/example.com",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "is_directory_protected",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DirectoryPrivacy",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "auth_name": {
                              "description": "The authentication resource name.",
                              "example": "Protected 'example.com'",
                              "type": "string"
                            },
                            "auth_type": {
                              "description": "The directory's authentication type.\n* `Basic`\n* `None`",
                              "enum": [
                                "Basic",
                                "None"
                              ],
                              "example": "Basic",
                              "type": "string"
                            },
                            "passwd_file": {
                              "description": "The path to the directory's password file.",
                              "example": "/home/example/.htpasswds/example.com/passwd",
                              "format": "path",
                              "type": "string"
                            },
                            "protected": {
                              "description": "Whether the directory uses password protection.\n* `1` - Protected.\n* `0` - **Not** protected.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether directory uses password protection",
        "tags": [
          "DirectoryPrivacy",
          "Directory Privacy"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryPrivacy \\\n  is_directory_protected \\\n  dir='/home/example/example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DirectoryPrivacy/is_directory_protected?dir=%2fhome%2fexample%2fexample.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryPrivacy_is_directory_protected.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_is_directory_protected.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryPrivacy/,\n    q/is_directory_protected/,\n    {\n        'dir' => '/home/example/example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryPrivacy_is_directory_protected.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_is_directory_protected.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryPrivacy',\n    'is_directory_protected',\n    array (\n        'dir' => '/home/example/example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 88"
      }
    },
    "/DirectoryPrivacy/list_directories": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function returns the privacy status of the subdirectories in a directory.",
        "operationId": "DirectoryPrivacy-list_directories",
        "parameters": [
          {
            "description": "The directory path for which to return the subdirectories' privacy information.",
            "in": "query",
            "name": "dir",
            "required": true,
            "schema": {
              "example": "/home/example/example.com",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_directories",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DirectoryPrivacy",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "children": {
                              "description": "An array of objects containing subdirectories and their privacy\ninformation.\n\n**Note:**\n\nThe function returns an object for each subdirectory in a directory.",
                              "items": {
                                "properties": {
                                  "path": {
                                    "description": "The subdirectory's directory path.",
                                    "example": "/home/example/example.com/cgi-bin",
                                    "format": "path",
                                    "type": "string"
                                  },
                                  "state": {
                                    "description": "The subdirectory's privacy information.",
                                    "properties": {
                                      "auth_name": {
                                        "description": "The authentication resource name.",
                                        "example": "Protected 'example.com'",
                                        "type": "string"
                                      },
                                      "auth_type": {
                                        "description": "The subdirectory's authentication type.\n\n* `Basic`\n* `None`",
                                        "enum": [
                                          "Basic",
                                          "None"
                                        ],
                                        "example": "Basic",
                                        "type": "string"
                                      },
                                      "passwd_file": {
                                        "description": "The absolute file path to the subdirectory's password file.",
                                        "example": "/home/example/.htpasswds/example.com/passwd",
                                        "format": "path",
                                        "type": "string"
                                      },
                                      "protected": {
                                        "description": "Whether the subdirectory is protected.\n\n* `1` — Protected.\n* `0` — **Not** protected.",
                                        "enum": [
                                          1,
                                          0
                                        ],
                                        "example": 1,
                                        "type": "integer"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "current": {
                              "description": "The user's current directory and its privacy information.",
                              "properties": {
                                "path": {
                                  "description": "The current directory's path.",
                                  "example": "/home/example/example.com",
                                  "format": "path",
                                  "type": "string"
                                },
                                "state": {
                                  "description": "The current subdirectory's privacy information.",
                                  "properties": {
                                    "auth_name": {
                                      "description": "The authentication resource name.",
                                      "example": "protected",
                                      "type": "string"
                                    },
                                    "auth_type": {
                                      "description": "The directory's authentication type.\n\n* `Basic`\n* `None`",
                                      "enum": [
                                        "Basic",
                                        "None"
                                      ],
                                      "example": "Basic",
                                      "type": "string"
                                    },
                                    "passwd_file": {
                                      "description": "The absolute file path to the directory's password file.",
                                      "example": "/home/example/.htpasswds/example.com/passwd",
                                      "format": "path",
                                      "type": "string"
                                    },
                                    "protected": {
                                      "description": "Whether the directory is protected.\n\n* `1` — Protected.\n* `0` — **Not** protected.",
                                      "enum": [
                                        1,
                                        0
                                      ],
                                      "example": 1,
                                      "type": "integer"
                                    }
                                  },
                                  "type": "object"
                                }
                              },
                              "type": "object"
                            },
                            "home": {
                              "description": "The user's home directory and its privacy information.",
                              "properties": {
                                "path": {
                                  "description": "The home directory's absolute path.",
                                  "example": "/home/example",
                                  "format": "path",
                                  "type": "string"
                                },
                                "state": {
                                  "description": "The home directory's privacy information.",
                                  "properties": {
                                    "auth_name": {
                                      "description": "The authentication resource name.",
                                      "example": "protected",
                                      "type": "string"
                                    },
                                    "auth_type": {
                                      "description": "The home directory's authentication type.\n\n* `Basic`\n* `None`",
                                      "enum": [
                                        "Basic",
                                        "None"
                                      ],
                                      "example": "Basic",
                                      "type": "string"
                                    },
                                    "passwd_file": {
                                      "description": "The absolute file path to the home directory's password file.",
                                      "example": "/home/example/.htpasswds/example.com/passwd",
                                      "format": "path",
                                      "type": "string"
                                    },
                                    "protected": {
                                      "description": "Whether the home directory is protected.\n\n* `1` — Protected.\n* `0` — **Not** protected.",
                                      "enum": [
                                        1,
                                        0
                                      ],
                                      "example": 1,
                                      "type": "integer"
                                    }
                                  },
                                  "type": "object"
                                }
                              },
                              "type": "object"
                            },
                            "parent": {
                              "description": "The parent directory of the current directory and its privacy information.",
                              "properties": {
                                "path": {
                                  "description": "The parent directory's absolute directory path.",
                                  "example": "/home/example",
                                  "format": "path",
                                  "type": "string"
                                },
                                "state": {
                                  "description": "The parent directory's privacy information.",
                                  "properties": {
                                    "auth_name": {
                                      "description": "The authentication resource name.",
                                      "example": "protected",
                                      "type": "string"
                                    },
                                    "auth_type": {
                                      "description": "The parent directory's authentication type.\n\n* `Basic`\n* `None`",
                                      "enum": [
                                        "Basic",
                                        "None"
                                      ],
                                      "example": "Basic",
                                      "type": "string"
                                    },
                                    "passwd_file": {
                                      "description": "The absolute file path to the parent directory's password file.",
                                      "example": "/home/example/.htpasswds/example.com/passwd",
                                      "format": "path",
                                      "type": "string"
                                    },
                                    "protected": {
                                      "description": "Whether the subdirectory is protected.\n\n* `1` — Protected.\n* `0` — **Not** protected.",
                                      "enum": [
                                        1,
                                        0
                                      ],
                                      "example": 1,
                                      "type": "integer"
                                    }
                                  },
                                  "type": "object"
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return privacy status of subdirectories",
        "tags": [
          "DirectoryPrivacy",
          "Directory Privacy"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryPrivacy \\\n  list_directories \\\n  dir='/home/example/example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DirectoryPrivacy/list_directories?dir=%2fhome%2fexample%2fexample.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryPrivacy_list_directories.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_list_directories.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryPrivacy/,\n    q/list_directories/,\n    {\n        'dir' => '/home/example/example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryPrivacy_list_directories.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_list_directories.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryPrivacy',\n    'list_directories',\n    array (\n        'dir' => '/home/example/example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 88"
      }
    },
    "/DirectoryPrivacy/list_users": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function returns the users who can access a password-protected directory on the cPanel account.",
        "operationId": "DirectoryPrivacy-list_users",
        "parameters": [
          {
            "description": "The password-protected directory for which to return authorized users.",
            "in": "query",
            "name": "dir",
            "required": true,
            "schema": {
              "example": "/home/example/example.com",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_users",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DirectoryPrivacy",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "list of users who can access the directory.",
                          "example": [
                            "example1",
                            "example2"
                          ],
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return authorized users for protected directory",
        "tags": [
          "DirectoryPrivacy",
          "Directory Privacy"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryPrivacy \\\n  list_users \\\n  dir='/home/example/example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DirectoryPrivacy/list_users?dir=%2fhome%2fexample%2fexample.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryPrivacy_list_users.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_list_users.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryPrivacy/,\n    q/list_users/,\n    {\n        'dir' => '/home/example/example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryPrivacy_list_users.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryPrivacy_list_users.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryPrivacy',\n    'list_users',\n    array (\n        'dir' => '/home/example/example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 88"
      }
    },
    "/DirectoryProtection/list_directories": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function returns the\n[leech protection](https://go.cpanel.net/cpaneldocsLeechProtection)\nsettings of the subdirectories in a directory.",
        "operationId": "DirectoryProtection-list_directories",
        "parameters": [
          {
            "description": "The absolute or relative file path in the user's `home` directory for which to return leech protection information.",
            "in": "query",
            "name": "dir",
            "required": true,
            "schema": {
              "example": "/home/example/example.com",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_directories",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DirectoryProtection",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "children": {
                              "description": "A list of subdirectories and their leech protection information.\n\n**Note:**\n\nThe function returns a list for each subdirectory in a directory.",
                              "items": {
                                "properties": {
                                  "path": {
                                    "description": "The subdirectory's absolute directory path.",
                                    "example": "/home/example/example.com/cgi-bin",
                                    "format": "path",
                                    "type": "string"
                                  },
                                  "state": {
                                    "description": "A object containing the subdirectory's leech protection information.",
                                    "properties": {
                                      "has_leech_protection": {
                                        "description": "The directory's leech protection status.\n\n* `1` — Leech protection is enabled.\n* `0` — Leech protection is disabled.",
                                        "enum": [
                                          1,
                                          0
                                        ],
                                        "example": 1,
                                        "type": "integer"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "current": {
                              "description": "The user's current directory and its leech protection information.",
                              "properties": {
                                "path": {
                                  "description": "The current directory's absolute file path.",
                                  "example": "/home/example/example.com",
                                  "format": "path",
                                  "type": "string"
                                },
                                "state": {
                                  "description": "An object containing the current directory's leech protection information.",
                                  "properties": {
                                    "has_leech_protection": {
                                      "description": "The current directory's leech protection status.\n\n* `1` — Leech protection is enabled.\n* `0` — Leech protection is disabled.",
                                      "enum": [
                                        1,
                                        0
                                      ],
                                      "example": 1,
                                      "type": "integer"
                                    }
                                  },
                                  "type": "object"
                                }
                              },
                              "type": "object"
                            },
                            "home": {
                              "description": "The user's `home` directory and its leech protection information.",
                              "properties": {
                                "path": {
                                  "description": "The `home` directory's absolute directory path.",
                                  "example": "/home/example",
                                  "format": "path",
                                  "type": "string"
                                },
                                "state": {
                                  "description": "A object containing the `home` directory's leech protection information.",
                                  "properties": {
                                    "has_leech_protection": {
                                      "description": "The home directory's leech protection status.\n\n* `1` — Leech protection is enabled.\n* `0` — Leech protection is disabled.",
                                      "enum": [
                                        1,
                                        0
                                      ],
                                      "example": 1,
                                      "type": "integer"
                                    }
                                  },
                                  "type": "object"
                                }
                              },
                              "type": "object"
                            },
                            "parent": {
                              "description": "The parent directory of the current directory and its leech protection information.",
                              "properties": {
                                "path": {
                                  "description": "The parent directory's absolute directory path.",
                                  "example": "/home/example",
                                  "format": "path",
                                  "type": "string"
                                },
                                "state": {
                                  "description": "An object containing the parent directory's leech protection information.",
                                  "properties": {
                                    "has_leech_protection": {
                                      "description": "The parent directory's leech protection status.\n\n* `1` — Leech protection is enabled.\n* `0` — Leech protection is disabled.",
                                      "enum": [
                                        1,
                                        0
                                      ],
                                      "example": 1,
                                      "type": "integer"
                                    }
                                  },
                                  "type": "object"
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return Directory Protection settings",
        "tags": [
          "DirectoryProtection",
          "Directory Protection"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DirectoryProtection \\\n  list_directories \\\n  dir='/home/example/example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DirectoryProtection/list_directories?dir=%2fhome%2fexample%2fexample.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DirectoryProtection_list_directories.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DirectoryProtection_list_directories.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DirectoryProtection/,\n    q/list_directories/,\n    {\n        'dir' => '/home/example/example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DirectoryProtection_list_directories.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DirectoryProtection_list_directories.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DirectoryProtection',\n    'list_directories',\n    array (\n        'dir' => '/home/example/example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 88"
      }
    },
    "/Domain/convert_temporary_to_registered": {
      "post": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function converts a temporary domain into a registered domain and moves its document root files\nto the new document root location.\n\n**Note:**\n\n* For more information about temporary domains, read our [Temporary Domains](https://go.cpanel.net/cp-temporary-domain) documentation.\n* You cannot use this function to convert a cPanel account's main domain.",
        "operationId": "Domain-convert_temporary_to_registered",
        "parameters": [
          {
            "description": "A valid temporary domain on the account.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "wonderful-fushsia-owl.10-20-30-40.cpanel.site",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "A valid domain name.",
            "in": "query",
            "name": "registered",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The path to the domain's document root directory. If you do not specify a\nvalue, this parameter defaults to the domain's name.\n\n**Note:**\n\nThe function will create a symlink in place of the previous temporary domain's\ndocument root directory. The symlink will point to the registered domain's\ndocument root.",
            "in": "query",
            "name": "docroot",
            "required": false,
            "schema": {
              "example": "example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "convert_temporary_to_registered",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Domain",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "message": {
                              "description": "A message describing the result of the conversion.",
                              "example": "Domain wonderful-fushsia-owl.10-20-30-40.cpanel.site successfully converted to example.com",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "status": {
                          "description": "- 1 - Success.\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Request was successful."
          }
        },
        "summary": "Convert a temporary domain to a registered domain",
        "tags": [
          "Domain",
          "Temporary Domains"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Domain \\\n  convert_temporary_to_registered \\\n  domain=wonderful-fushsia-owl.10-20-30-40.cpanel.site \\\n  registered=example.com\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Domain/convert_temporary_to_registered?domain=wonderful-fushsia-owl.10-20-30-40.cpanel.site&registered=example.com"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 130
      }
    },
    "/Domain/is_temporary_domain": {
      "get": {
        "x-readonly": true,
        "description": "This function determines whether a domain is temporary.\n\n**Note:**\n\nFor more information about temporary domains, read our [Temporary Domains](https://go.cpanel.net/cp-temporary-domain) documentation.",
        "operationId": "Domain-is_temporary_domain",
        "parameters": [
          {
            "description": "A domain on the cPanel account.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "is_temporary_domain",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Domain",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether the domain is a temporary domain.\n* `1` - The domain is a temporary domain.\n* `0` -  The domains is **not** a temporary domain.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API call.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Request was successful."
          }
        },
        "summary": "Return whether a domain is temporary",
        "tags": [
          "Domain",
          "Temporary Domains"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Domain \\\n  is_temporary_domain \\\n  domain=example.com\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Domain/is_temporary_domain?domain=example.com"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 130
      }
    },
    "/Domain/rename_domain": {
      "post": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function renames a primary domain, addon domain, or alias domain on a\ncPanel account. The system updates all relevant configuration files, document root\npaths, and DNS entries automatically.\n\n**Note:**\n\n* You cannot rename a domain while another rename operation is in progress.\n* You cannot rename the server hostname.\n* The new domain must not already be configured on the account.",
        "operationId": "Domain-rename_domain",
        "parameters": [
          {
            "description": "The current domain name to rename.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "old.example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The new domain name.",
            "in": "query",
            "name": "new_domain",
            "required": true,
            "schema": {
              "example": "new.example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The path to the domain's document root directory. If you do not specify a\nvalue, this parameter defaults to the new domain name.",
            "in": "query",
            "name": "docroot",
            "required": false,
            "schema": {
              "example": "new.example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "rename_domain",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Domain",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "message": {
                              "description": "A message describing the result of the rename.",
                              "example": "Domain old.example.com successfully renamed to new.example.com",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "status": {
                          "description": "- 1 - Success.\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Request was successful."
          }
        },
        "summary": "Rename a primary, addon, or alias domain",
        "tags": [
          "Domain"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Domain \\\n  rename_domain \\\n  domain=old.example.com \\\n  new_domain=new.example.com\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Domain/rename_domain?domain=old.example.com&new_domain=new.example.com"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 138
      }
    },
    "/Domain/temporary_domain_is_disabled": {
      "get": {
        "x-readonly": true,
        "description": "This function returns whether the temporary domains feature is\ndisabled by server configuration.\n\n**Note:**\n\nFor more information about temporary domains, read our [Temporary Domains](https://go.cpanel.net/cp-temporary-domain) documentation.",
        "operationId": "Domain-temporary_domain_is_disabled",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "temporary_domain_is_disabled",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Domain",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object containing the disabled state of the\ntemporary domains feature.",
                          "properties": {
                            "is_disabled": {
                              "description": "Whether temporary domains are disabled by\nserver configuration.\n* `1` - Temporary domains are disabled.\n* `0` - Temporary domains are enabled.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 0,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API call.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Request was successful."
          }
        },
        "summary": "Return whether temporary domains are disabled",
        "tags": [
          "Domain",
          "Temporary Domains"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Domain \\\n  temporary_domain_is_disabled\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Domain/temporary_domain_is_disabled"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 138
      }
    },
    "/DomainInfo/domains_data": {
      "get": {
        "x-readonly": true,
        "description": "This function lists user data for the cPanel account's domains.\n\n**Note:**\n\nThis function retrieves data from the `/var/cpanel/userdata/user/domain` file, where `user`\nrepresents the cPanel account username and `domain` represents the domain. For this reason,\nactual output may not contain all of the returns that this document lists.",
        "operationId": "DomainInfo-domains_data",
        "parameters": [
          {
            "description": "The function's return format.\n\n* `hash` — Use a hash format. The function will return objects based on the domain type.\n* `list` — Use a list format. The function will return an array of objects, where each object is a domain.",
            "in": "query",
            "name": "format",
            "required": false,
            "schema": {
              "default": "hash",
              "enum": [
                "hash",
                "list"
              ],
              "example": "hash",
              "type": "string"
            }
          },
          {
            "description": "Whether to hide temporary domains from the response arrays.\n\n* `1` — Hide temporary domains from `addon_domains`, `sub_domains`, and `parked_domains` arrays.\n* `0` — Return all domains, including the temporary domains.",
            "in": "query",
            "name": "hide_temporary_domains",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                1,
                0
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to return the secure redirect status of the addon domains.\n\n* `1` — Return the status.\n* `0` — Do **not** return the status.",
            "in": "query",
            "name": "return_https_redirects_status",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                1,
                0
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "hash": {
                    "summary": "Output in hash return format.",
                    "value": {
                      "data": {
                        "addon_domains": [
                          {
                            "all_aliases_valid": "0",
                            "can_https_redirect": "0",
                            "documentroot": "/home/user/public_html/seconddomain.com",
                            "domain": "seconddomain.com",
                            "group": "user",
                            "hascgi": "1",
                            "homedir": "/home/user",
                            "ip": "192.168.0.128",
                            "ipv6": null,
                            "is_https_redirecting": "0",
                            "is_temporary": "0",
                            "no_cache_update": "0",
                            "owner": "root",
                            "serveradmin": "webmaster@seconddomain.example.com",
                            "serveralias": "seconddomain.com www.seconddomain.com www.seconddomain.example.com",
                            "servername": "seconddomain.example.com",
                            "type": "addon_domain",
                            "usecanonicalname": "Off",
                            "user": "user",
                            "userdirprotect": ""
                          },
                          {
                            "all_aliases_valid": "0",
                            "can_https_redirect": "0",
                            "documentroot": "/home/user/public_html/subdomain",
                            "domain": "exampledomain.com",
                            "group": "user",
                            "hascgi": "1",
                            "homedir": "/home/user",
                            "ip": "192.168.0.128",
                            "ipv6": null,
                            "is_https_redirecting": "0",
                            "is_temporary": "0",
                            "no_cache_update": "0",
                            "owner": "root",
                            "serveradmin": "webmaster@subdomain.example.com",
                            "serveralias": "exampledomain.com www.exampledomain.com www.subdomain.example.com",
                            "servername": "subdomain.example.com",
                            "type": "addon_domain",
                            "usecanonicalname": "Off",
                            "user": "user",
                            "userdirprotect": ""
                          },
                          {
                            "all_aliases_valid": "0",
                            "can_https_redirect": "0",
                            "documentroot": "/home/user/addondomain/home/dir",
                            "domain": "addondomain.com",
                            "group": "user",
                            "hascgi": "1",
                            "homedir": "/home/user",
                            "ip": "192.168.0.128",
                            "ipv6": null,
                            "is_https_redirecting": "0",
                            "is_temporary": "0",
                            "main_domain": {
                              "all_aliases_valid": "0",
                              "can_https_redirect": "0",
                              "customlog": [
                                {
                                  "format": "combined",
                                  "target": "/usr/local/apache/domlogs/example.com"
                                },
                                {
                                  "format": "\"%{%s}t %I .\\n%{%s}t %O .\"",
                                  "target": "/usr/local/apache/domlogs/example.com-bytes_log"
                                }
                              ],
                              "documentroot": "/home/user/public_html",
                              "domain": "example.com",
                              "group": "user",
                              "hascgi": "1",
                              "homedir": "/home/user",
                              "ifmodulemodsuphpc": {
                                "group": "user"
                              },
                              "ip": "192.168.0.128",
                              "is_https_redirecting": "0",
                              "options": "ExecCGI Includes",
                              "owner": "root",
                              "port": "80",
                              "scriptalias": [
                                {
                                  "path": "/home/user/public_html/cgi-bin",
                                  "url": "/cgi-bin/"
                                },
                                {
                                  "path": "/home/user/public_html/cgi-bin/",
                                  "url": "/cgi-bin/"
                                }
                              ],
                              "serveradmin": "webmaster@example.com",
                              "serveralias": "parkeddomain.com www.parkeddomain.com www.example.com",
                              "servername": "example.com",
                              "type": "main_domain",
                              "usecanonicalname": "Off",
                              "user": "user",
                              "userdirprotect": ""
                            },
                            "no_cache_update": "0",
                            "owner": "root",
                            "parked_capable_of_https_redirects": [
                              "parkeddomain.com"
                            ],
                            "parked_domains": [
                              "parkeddomain.com"
                            ],
                            "parked_with_https_redirects": [
                              "parkeddomain.com"
                            ],
                            "serveradmin": "webmaster@subdomain.example.com",
                            "serveralias": "addondomain.com www.addondomain.com www.subdomain.example.com",
                            "servername": "subdomain.example.com",
                            "sub_domains": [
                              {
                                "all_aliases_valid": "0",
                                "can_https_redirect": "0",
                                "documentroot": "/home/user/public_html/sub",
                                "domain": "sub.example.com",
                                "group": "user",
                                "hascgi": "1",
                                "homedir": "/home/user",
                                "ip": "192.168.0.128",
                                "ipv6": null,
                                "is_https_redirecting": "0",
                                "is_temporary": "0",
                                "no_cache_update": "0",
                                "owner": "root",
                                "serveradmin": "webmaster@sub.example.com",
                                "serveralias": "www.sub.example.com",
                                "servername": "sub.example.com",
                                "type": "sub_domain",
                                "usecanonicalname": "Off",
                                "user": "user",
                                "userdirprotect": ""
                              }
                            ],
                            "type": "addon_domain",
                            "usecanonicalname": "Off",
                            "user": "user",
                            "userdirprotect": ""
                          }
                        ]
                      },
                      "errors": null,
                      "messages": null,
                      "metadata": null,
                      "status": 1
                    }
                  },
                  "list": {
                    "summary": "Output in list return format.",
                    "value": {
                      "data": [
                        {
                          "all_aliases_valid": "0",
                          "can_https_redirect": "0",
                          "customlog": [
                            {
                              "format": "combined",
                              "target": "/usr/local/apache/domlogs/example.com"
                            },
                            {
                              "format": "\"%{%s}t %I .\\n%{%s}t %O .\"",
                              "target": "/usr/local/apache/domlogs/example.com-bytes_log"
                            }
                          ],
                          "documentroot": "/home/user/public_html",
                          "domain": "example.com",
                          "group": "user",
                          "hascgi": "1",
                          "homedir": "/home/user",
                          "ifmodulemodsuphpc": {
                            "group": "user"
                          },
                          "ip": "192.168.0.128",
                          "is_https_redirecting": "0",
                          "is_temporary": "0",
                          "options": "ExecCGI Includes",
                          "owner": "root",
                          "port": "80",
                          "scriptalias": [
                            {
                              "path": "/home/user/public_html/cgi-bin",
                              "url": "/cgi-bin/"
                            },
                            {
                              "path": "/home/user/public_html/cgi-bin/",
                              "url": "/cgi-bin/"
                            }
                          ],
                          "serveradmin": "webmaster@example.com",
                          "serveralias": "parkeddomain.com www.parkeddomain.com www.example.com",
                          "servername": "example.com",
                          "type": "main_domain",
                          "usecanonicalname": "Off",
                          "user": "user",
                          "userdirprotect": "1"
                        },
                        {
                          "parked_with_https_redirects": [
                            "parkeddomain.com"
                          ]
                        },
                        {
                          "parked_capable_of_https_redirects": [
                            "zippy.nugs.test"
                          ]
                        },
                        {
                          "all_aliases_valid": "0",
                          "can_https_redirect": "0",
                          "documentroot": "/home/user/public_html/seconddomain.com",
                          "domain": "seconddomain.com",
                          "group": "user",
                          "hascgi": "1",
                          "homedir": "/home/user",
                          "ip": "192.168.0.128",
                          "ipv6": null,
                          "is_https_redirecting": "0",
                          "is_temporary": "0",
                          "no_cache_update": "0",
                          "owner": "root",
                          "serveradmin": "webmaster@seconddomain.example.com",
                          "serveralias": "seconddomain.com www.seconddomain.com www.seconddomain.example.com",
                          "servername": "seconddomain.example.com",
                          "type": "addon_domain",
                          "usecanonicalname": "Off",
                          "user": "user",
                          "userdirprotect": ""
                        },
                        {
                          "all_aliases_valid": "0",
                          "can_https_redirect": "0",
                          "documentroot": "/home/user/public_html/subdomain",
                          "domain": "exampledomain.com",
                          "group": "user",
                          "hascgi": "1",
                          "homedir": "/home/user",
                          "ip": "192.168.0.128",
                          "ipv6": null,
                          "is_https_redirecting": "0",
                          "is_temporary": "0",
                          "no_cache_update": "0",
                          "owner": "root",
                          "serveradmin": "webmaster@subdomain.example.com",
                          "serveralias": "exampledomain.com www.exampledomain.com www.subdomain.example.com",
                          "servername": "subdomain.example.com",
                          "type": "addon_domain",
                          "usecanonicalname": "Off",
                          "user": "user",
                          "userdirprotect": ""
                        },
                        {
                          "all_aliases_valid": "0",
                          "can_https_redirect": "0",
                          "documentroot": "/home/user/addondomain/home/dir",
                          "domain": "addondomain.com",
                          "group": "user",
                          "hascgi": "1",
                          "homedir": "/home/user",
                          "ip": "192.168.0.128",
                          "ipv6": null,
                          "is_https_redirecting": "0",
                          "is_temporary": "0",
                          "no_cache_update": "0",
                          "owner": "root",
                          "serveradmin": "webmaster@subdomain.example.com",
                          "serveralias": "addondomain.com www.addondomain.com www.subdomain.example.com",
                          "servername": "subdomain.example.com",
                          "type": "addon_domain",
                          "usecanonicalname": "Off",
                          "user": "user",
                          "userdirprotect": ""
                        },
                        {
                          "all_aliases_valid": "0",
                          "can_https_redirect": "0",
                          "documentroot": "/home/user/public_html/sub",
                          "domain": "sub.example.com",
                          "group": "user",
                          "hascgi": "1",
                          "homedir": "/home/user",
                          "ip": "192.168.0.128",
                          "ipv6": null,
                          "is_https_redirecting": "0",
                          "is_temporary": "0",
                          "no_cache_update": "0",
                          "owner": "root",
                          "serveradmin": "webmaster@sub.example.com",
                          "serveralias": "www.sub.example.com",
                          "servername": "sub.example.com",
                          "type": "sub_domain",
                          "usecanonicalname": "Off",
                          "user": "user",
                          "userdirprotect": ""
                        }
                      ],
                      "errors": null,
                      "messages": null,
                      "metadata": {
                        "transformed": 1
                      },
                      "status": 1
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "domains_data",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DomainInfo",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object containing information about a cPanel account's domains. The output of this function changes, based on the `format` parameter value.",
                          "oneOf": [
                            {
                              "$ref": "#/components/schemas/HashOutput"
                            },
                            {
                              "$ref": "#/components/schemas/ListOutput"
                            }
                          ]
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return all domains' hosting configuration",
        "tags": [
          "DomainInfo",
          "Domain Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainInfo \\\n  domains_data\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainInfo/domains_data"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainInfo_domains_data.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainInfo_domains_data.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainInfo/,\n    q/domains_data/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainInfo_domains_data.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainInfo_domains_data.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainInfo',\n    'domains_data'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/DomainInfo/list_domains": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the cPanel account's domains.\n\n**Note:**\n\nFor this function to succeed, the `/var/cpanel/userdata/username/main` file (where `username` represents the authenticated user) **must** possess the correct permissions. If a permissions error occurs, this function returns blank values for **all** of its returns and does **not** return an error message.",
        "operationId": "DomainInfo-list_domains",
        "parameters": [
          {
            "description": "Whether to hide temporary domains from the response arrays.\n\n* `1` — Hide temporary domains from the `addon_domains`, `sub_domains`, and `parked_domains` arrays, and from the `main_domain` field.\n* `0` — Return all domains, including the temporary domains.",
            "in": "query",
            "name": "hide_temporary_domains",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                1,
                0
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_domains",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DomainInfo",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "addon_domains": {
                              "description": "An array of string values that lists the addon domains on the cPanel account.",
                              "items": {
                                "example": "addondomain.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "main_domain": {
                              "description": "The cPanel account's main domain.",
                              "example": "example.com",
                              "format": "domain",
                              "type": "string",
                              "nullable": true
                            },
                            "parked_domains": {
                              "description": "An array of string values that lists the parked domains on the cPanel account.",
                              "items": {
                                "example": "parkeddomain.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "sub_domains": {
                              "description": "An array of string values that lists the subdomains on the cPanel account.",
                              "items": {
                                "example": "subdomain.example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "is_temporary": {
                              "description": "Whether the domain is a temporary domain.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "integer",
                                "enum": [
                                  0,
                                  1
                                ],
                                "description": "* `1` — The domain is temporary.\n* `0` — The domain is not temporary."
                              }
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's domains",
        "tags": [
          "DomainInfo",
          "Domain Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainInfo \\\n  list_domains\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainInfo/list_domains"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainInfo_list_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainInfo_list_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainInfo/,\n    q/list_domains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainInfo_list_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainInfo_list_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainInfo',\n    'list_domains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/DomainInfo/main_domain_builtin_subdomain_aliases": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the built-in subdomain aliases for an account's main domain.\n\n**Note:**\n\n  This function retrieves data from the `/var/cpanel/userdata/user/domain` file, where `user` represents the cPanel account username and `domain` represents the domain. For this reason, actual output may not contain all of the returns that this document lists.",
        "operationId": "DomainInfo-main_domain_builtin_subdomain_aliases",
        "parameters": [
          {
            "description": "Whether to hide domain aliases if the main domain is a temporary domain.\n\n* `1` — Return empty array if the main domain is a temporary domain.\n* `0` — Show aliases regardless of domain type.",
            "in": "query",
            "name": "hide_temporary_domains",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                1,
                0
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "main_domain_builtin_subdomain_aliases",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DomainInfo",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "A list of the built-in subdomain aliases for the account's main domain.",
                          "example": [
                            "mail",
                            "www"
                          ],
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return built-in subdomain aliases",
        "tags": [
          "DomainInfo",
          "Domain Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainInfo \\\n  main_domain_builtin_subdomain_aliases\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainInfo/main_domain_builtin_subdomain_aliases"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainInfo_main_domain_builtin_subdomain_aliases.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainInfo_main_domain_builtin_subdomain_aliases.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainInfo/,\n    q/main_domain_builtin_subdomain_aliases/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainInfo_main_domain_builtin_subdomain_aliases.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainInfo_main_domain_builtin_subdomain_aliases.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainInfo',\n    'main_domain_builtin_subdomain_aliases'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/DomainInfo/primary_domain": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the cPanel account's main domain.",
        "operationId": "DomainInfo-primary_domain",
        "parameters": [
          {
            "description": "Whether to hide temporary domains from the response.\n\n* `1` — Return `null` if the main domain is a temporary domain.\n* `0` — Return the main domain if it's a temporary domain.",
            "in": "query",
            "name": "hide_temporary_domains",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                1,
                0
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "primary_domain",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DomainInfo",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "primary_domain": {
                              "description": "The cPanel account's main domain.\n** Note: **\nThis return's value will be `null` if the `hide_temporary_domains` parameter is set to `1` and the main domain is a temporary domain.",
                              "example": "example.com",
                              "type": "string",
                              "nullable": true
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return the cPanel account's primary domain",
        "tags": [
          "DomainInfo",
          "Domain Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainInfo \\\n  primary_domain\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainInfo/primary_domain"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainInfo_primary_domain.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainInfo_primary_domain.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainInfo/,\n    q/primary_domain/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainInfo_primary_domain.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainInfo_primary_domain.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainInfo',\n    'primary_domain'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/DomainInfo/single_domain_data": {
      "get": {
        "x-readonly": true,
        "description": "This function lists user data for a domain.\n\n**Important:**\n\n  This function retrieves data from the `/var/cpanel/userdata/user/domain` file, where `user` represents the cPanel account username and `domain` represents the domain.\n  * Because aliases (parked domains) do **not** use a user data file, this function **cannot** query information for aliases. To retrieve information for an alias, specify the associated main or addon domain.\n  * Due to differences in user data files, the function's actual output may not contain all of the returns that this document lists.",
        "operationId": "DomainInfo-single_domain_data",
        "parameters": [
          {
            "description": "The domain on the cPanel account.\n\n**Important:**\n\nDo **not** specify an alias (parked domain).",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "Whether to hide temporary domains from the returned values.\n\n* `1` — Return an error if the requested domain is a temporary domain.\n* `0` — Return all domains, including the temporary domains.\n\n**Note:**\n\nIf you set this parameter's value to `1` and the requested domain is temporary,\nthe function will return an error similar to the following example: `Domain [example.com] is a temporary\ndomain and `hide_temporary_domains` is enabled.`",
            "in": "query",
            "name": "hide_temporary_domains",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                1,
                0
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to return the secure redirect status of the addon domains.\n* `1` - Return status.\n* `0` - Do **not** return status.",
            "in": "query",
            "name": "return_https_redirect_status",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "single_domain_data",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DomainInfo",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "all_aliases_valid": {
                              "description": "Whether a valid SSL certificate exists on the domain's aliases.\n* `1` - A valid SSL certificate exists on the aliases.\n* `0` - A valid SSL certificate does **not** exist on the aliases.\n\n**Important:**\n\nThis return only appears if you set the `return_https_redirects_status` parameter to `1`.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 0,
                              "type": "integer"
                            },
                            "can_https_redirect": {
                              "description": "Whether a valid SSL certificate exists or AutoSSL runs on the domain.\n* `1` - A valid SSL certificate exists or AutoSSL runs.\n* `0` - A valid SSL certificate does **not** exist, and AutoSSL does not run.\n\n**Important:**\n\nThis return only appears if you set the `return_https_redirects_status` parameter to `1`.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 0,
                              "type": "integer"
                            },
                            "customlog": {
                              "description": "An object containing Apache log information.",
                              "properties": {
                                "domain": {
                                  "description": "The `target` log file's domain. An [Apache log](http://httpd.apache.org/docs/2.2/mod/mod_log_config.html) domain. Generally, this value is `combined`.",
                                  "example": "combined",
                                  "type": "string"
                                },
                                "target": {
                                  "description": "The absolute path to the domain's log file.",
                                  "example": "/usr/local/apache/domlogs/example.com",
                                  "format": "path",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "documentroot": {
                              "description": "The absolute path to the domain's document root.",
                              "example": "/home/user/public_html/",
                              "format": "path",
                              "type": "string"
                            },
                            "domain": {
                              "description": "The domain name on the cPanel account.",
                              "example": "example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "group": {
                              "description": "The domain's group name.",
                              "example": "user",
                              "type": "string"
                            },
                            "hascgi": {
                              "description": "Whether CGI is enabled for the domain.\n* `1` - Enabled.\n* `0` - Disabled.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "homedir": {
                              "description": "The absolute path to the account's home directory.",
                              "example": "/home/user",
                              "format": "path",
                              "type": "string"
                            },
                            "ifmodulemodsuphpc": {
                              "description": "An object containing information about PHP scripts and suPHP.",
                              "properties": {
                                "group": {
                                  "description": "If suPHP is enabled, the group that PHP scripts run as.",
                                  "example": "user",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "ip": {
                              "description": "The domain's IP address.",
                              "example": "192.168.0.128",
                              "format": "ipv4",
                              "type": "string"
                            },
                            "is_https_redirecting": {
                              "description": "Whether the domain redirects to https.\n* `1` - Redirects.\n* `0` - Does **not** redirect.\n\n**Important:**\n\nThis return only appears if you set the `return_https_redirects_status` parameter to `1`.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 0,
                              "type": "integer"
                            },
                            "is_temporary": {
                              "description": "Whether the domain is a temporary domain.\n* `1` — The domain is temporary.\n* `0` — The domain is not temporary.",
                              "type": "integer",
                              "enum": [
                                0,
                                1
                              ]
                            },
                            "options": {
                              "description": "The Apache `Options` directive for the domain.",
                              "example": "ExecCGI Includes",
                              "type": "string"
                            },
                            "owner": {
                              "description": "The WHM account (root or a reseller) that owns the cPanel account.",
                              "example": "root",
                              "format": "username",
                              "type": "string"
                            },
                            "phpopenbasedirprotect": {
                              "description": "The domain's `open_basedir` setting.\n* `1` - Enabled.\n* `0` - Disabled.\n\n**Note:**\n\nIn EasyApache 4, change this directive in the *Editor Mode* section of WHM's\n[*MultiPHP INI Editor*](https://go.cpanel.net/whmdocsMultiPHPINIEditor) interface\n(*WHM >> Home >> Software >> MultiPHP INI Editor*).",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "port": {
                              "description": "Apache's port to access the domain.",
                              "example": 80,
                              "maximum": 65335,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "scriptalias": {
                              "description": "An object containing CGI information.",
                              "properties": {
                                "path": {
                                  "description": "The absolute path to the domain's CGI directory.",
                                  "example": "/home/user/public_html/cgi-bin",
                                  "format": "path",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The domain's CGI directory.",
                                  "example": "/cgi-bin/",
                                  "format": "url-path",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "serveradmin": {
                              "description": "The domain's administrator's contact email address.",
                              "example": "webmaster@example.com",
                              "format": "email",
                              "type": "string"
                            },
                            "serveralias": {
                              "description": "A space-separated list of the domain's aliases.",
                              "example": "parkeddomain.com www.parkeddomain.com www.example.com",
                              "type": "string"
                            },
                            "servername": {
                              "description": "The domain's identifier on the server.",
                              "example": "example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "type": {
                              "description": "The domain type.\n* `addon_domain` - The domain is an addon domain.\n* `sub_domain` - The domain is a subdomain.\n* `main_domain` - The domain is the account's main domain.\n* `parked_domain` - The domain is a parked domain (domain alias).",
                              "enum": [
                                "addon_domain",
                                "sub_domain",
                                "main_domain",
                                "parked_domain"
                              ],
                              "example": "main_domain",
                              "type": "string"
                            },
                            "usecanonicalname": {
                              "description": "The domain's Canonical Name (CNAME) setting.\n* `On` - Use the CNAME.\n* `Off` - Do **not** use the CNAME.",
                              "enum": [
                                "On",
                                "Off"
                              ],
                              "example": "Off",
                              "type": "string"
                            },
                            "user": {
                              "description": "The cPanel account's username.",
                              "example": "user",
                              "format": "username",
                              "type": "string"
                            },
                            "userdirprotect": {
                              "description": "The domain's [Apache `mod_userdir` Tweak](https://go.cpanel.net/whmdocsApachemod_userdirTweak) setting.\n* `1` - Enabled.\n* `0` - Disabled.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return domain's hosting configuration",
        "tags": [
          "DomainInfo",
          "Domain Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainInfo \\\n  single_domain_data \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainInfo/single_domain_data?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainInfo_single_domain_data.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainInfo_single_domain_data.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainInfo/,\n    q/single_domain_data/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainInfo_single_domain_data.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainInfo_single_domain_data.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainInfo',\n    'single_domain_data',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/DomainLookup/countbasedomains": {
      "get": {
        "description": "This function counts the cPanel account's base domains: the primary\ndomain, its addon domains and its parked domains.\n\n**Note:**\n\nThe count excludes temporary domains, and matches the number of entries\nthat the `DomainLookup::getbasedomains` function returns by default.",
        "operationId": "DomainLookup-countbasedomains",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "A single entry holding the count.",
                      "items": {
                        "properties": {
                          "count": {
                            "description": "The number of base domains on the account.",
                            "example": 3,
                            "minimum": 0,
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "errors": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "messages": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "metadata": {
                      "properties": {
                        "transformed": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                      "enum": [
                        0,
                        1
                      ],
                      "example": 1,
                      "type": "integer"
                    },
                    "warnings": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Count the domains that have their own DNS zone",
        "tags": [
          "DomainLookup"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainLookup \\\n  countbasedomains\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainLookup/countbasedomains"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainLookup_countbasedomains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainLookup_countbasedomains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainLookup/,\n    q/countbasedomains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainLookup_countbasedomains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainLookup_countbasedomains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainLookup',\n    'countbasedomains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138",
        "x-readonly": true
      }
    },
    "/DomainLookup/getbasedomains": {
      "get": {
        "description": "This function lists the cPanel account's base domains: the primary\ndomain, its addon domains and its parked domains.\n\n**Note:**\n\nSubdomains are **not** base domains and this function does not return\nthem. Use the `SubDomain::listsubdomains` function for those.",
        "operationId": "DomainLookup-getbasedomains",
        "parameters": [
          {
            "description": "Whether to include the account's temporary domains in the result.\n* `1` - Include temporary domains.\n* `0` - Exclude temporary domains.",
            "in": "query",
            "name": "return_temporary_domain",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "One entry for each base domain on the account, sorted by domain name.",
                      "items": {
                        "properties": {
                          "domain": {
                            "description": "The base domain.",
                            "example": "example.com",
                            "format": "domain",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "errors": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "messages": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "metadata": {
                      "properties": {
                        "transformed": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                      "enum": [
                        0,
                        1
                      ],
                      "example": 1,
                      "type": "integer"
                    },
                    "warnings": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "List the domains that have their own DNS zone",
        "tags": [
          "DomainLookup"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainLookup \\\n  getbasedomains\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainLookup/getbasedomains"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainLookup_getbasedomains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainLookup_getbasedomains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainLookup/,\n    q/getbasedomains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainLookup_getbasedomains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainLookup_getbasedomains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainLookup',\n    'getbasedomains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138",
        "x-readonly": true
      }
    },
    "/DomainLookup/getdocroot": {
      "get": {
        "description": "This function retrieves the document root for a single domain on the\ncPanel account.\n\n**Note:**\n\nIf the domain does not exist on the account, the system returns the\naccount's `public_html` directory rather than an error.",
        "operationId": "DomainLookup-getdocroot",
        "parameters": [
          {
            "description": "The domain to look up. The system converts this value to lowercase.\n\nOmit this parameter to retrieve the document root for the account's primary domain.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "A single entry for the requested domain.",
                      "items": {
                        "properties": {
                          "docroot": {
                            "description": "The absolute path to the domain's document root.",
                            "example": "/home/username/public_html",
                            "format": "path",
                            "type": "string"
                          },
                          "reldocroot": {
                            "description": "The domain's document root, relative to the account's home directory.",
                            "example": "public_html",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "errors": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "messages": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "metadata": {
                      "properties": {
                        "transformed": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                      "enum": [
                        0,
                        1
                      ],
                      "example": 1,
                      "type": "integer"
                    },
                    "warnings": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return a domain's document root",
        "tags": [
          "DomainLookup"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainLookup \\\n  getdocroot\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainLookup/getdocroot"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainLookup_getdocroot.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainLookup_getdocroot.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainLookup/,\n    q/getdocroot/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainLookup_getdocroot.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainLookup_getdocroot.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainLookup',\n    'getdocroot'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138",
        "x-readonly": true
      }
    },
    "/DomainLookup/getdocroots": {
      "get": {
        "description": "This function retrieves the document root for every domain on the cPanel account, including the primary domain, addon domains, parked domains and subdomains.",
        "operationId": "DomainLookup-getdocroots",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "One entry for each domain on the account, sorted by domain name.",
                      "items": {
                        "properties": {
                          "docroot": {
                            "description": "The absolute path to the domain's document root.",
                            "example": "/home/username/public_html",
                            "format": "path",
                            "type": "string"
                          },
                          "domain": {
                            "description": "The domain.",
                            "example": "example.com",
                            "format": "domain",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "errors": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "messages": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "metadata": {
                      "properties": {
                        "transformed": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                      "enum": [
                        0,
                        1
                      ],
                      "example": 1,
                      "type": "integer"
                    },
                    "warnings": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return every domain's document root",
        "tags": [
          "DomainLookup"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainLookup \\\n  getdocroots\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainLookup/getdocroots"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainLookup_getdocroots.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainLookup_getdocroots.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainLookup/,\n    q/getdocroots/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainLookup_getdocroots.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainLookup_getdocroots.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DomainLookup',\n    'getdocroots'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138",
        "x-readonly": true
      }
    },
    "/DomainRecommendations/domain_availability": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether a specific domain name is available for registration through the configured domain store.\n\nThe system caches the results for up to two minutes per domain. Use the `use_cache=0` option to bypass the cache and force a live request.\n\n**Note:**\n\nThis function requires the `domain_recommendation` feature.",
        "operationId": "DomainRecommendations-domain_availability",
        "parameters": [
          {
            "description": "The fully-qualified domain name (FQDN) to check for availability.\n\n**Note:**\n\nThis value must include the TLD (for example, `mybusiness.com`).",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "mybusiness.com",
              "type": "string"
            }
          },
          {
            "description": "Whether to use the local response cache.\n\n* `1` — Use the cache (default). The system caches the results for up to two minutes.\n* `0` — Bypass the cache and make a live request to the store.",
            "in": "query",
            "name": "use_cache",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                1,
                0
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "domain_availability",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DomainRecommendations",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object containing the domain availability result\nfrom the configured domain store.",
                          "nullable": true,
                          "properties": {
                            "domain_name": {
                              "description": "The fully-qualified domain name (FQDN) that the function checked.",
                              "example": "mybusiness.com",
                              "type": "string"
                            },
                            "group": {
                              "description": "The domain group, if applicable.",
                              "example": null,
                              "nullable": true,
                              "type": "string"
                            },
                            "idn_domain_name": {
                              "description": "The internationalized domain name (IDN) of the checked domain.",
                              "example": "mybusiness.com",
                              "type": "string"
                            },
                            "idn_sld": {
                              "description": "The internationalized second-level domain (SLD) portion of the checked domain.",
                              "example": "mybusiness",
                              "type": "string"
                            },
                            "is_domain_available": {
                              "description": "Whether the domain is available for\nregistration.\n\n* `true` — Available.\n* `false` — Not available.",
                              "example": true,
                              "type": "boolean"
                            },
                            "is_premium": {
                              "description": "Whether the domain is a premium domain with\nspecial pricing.\n\n* `true` — The domain is a premium domain.\n* `false` — The domain is not a premium domain.",
                              "example": false,
                              "type": "boolean"
                            },
                            "is_tld_available": {
                              "description": "Whether the TLD is available for registration\nthrough the configured store.\n\n* `true` — The TLD is available.\n* `false` — The TLD is not available.",
                              "example": true,
                              "type": "boolean"
                            },
                            "premium_cost_pricing": {
                              "description": "The pricing structure for the premium domain, if applicable.",
                              "nullable": true,
                              "type": "object"
                            },
                            "pricing": {
                              "description": "An array of pricing options for each\nregistration period (in years).",
                              "items": {
                                "$ref": "#/components/schemas/PricingPeriod"
                              },
                              "type": "array"
                            },
                            "shortest_period": {
                              "allOf": [
                                {
                                  "$ref": "#/components/schemas/PricingPeriod"
                                },
                                {
                                  "description": "The pricing for the shortest available registration period."
                                }
                              ]
                            },
                            "sld": {
                              "description": "The second-level domain (SLD) portion of the checked domain.",
                              "example": "mybusiness",
                              "type": "string"
                            },
                            "status": {
                              "description": "A string describing the availability status of the domain.",
                              "example": "available for registration",
                              "type": "string"
                            },
                            "tld": {
                              "description": "The top-level domain (TLD) portion of the checked domain.",
                              "example": "com",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Check whether a domain is available for registration",
        "tags": [
          "DomainRecommendations"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainRecommendations \\\n  domain_availability \\\n  domain=mybusiness.com\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainRecommendations/domain_availability?domain=mybusiness.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainRecommendations_domain_availability.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainRecommendations_domain_availability.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainRecommendations/,\n    q/domain_availability/,\n    { domain => 'mybusiness.com' }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print \"Available: $data->{is_domain_available}\\n\";\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n$cpanel->end();\n\nsub to_json {\n    require JSON;\n    return JSON->new->pretty->encode($_[0]);\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainRecommendations_domain_availability.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainRecommendations_domain_availability.live.php\n//--------------------------------------------------------------------------------------\n\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\nheader('Content-Type: text/plain');\n\n$cpanel = new CPANEL();\n\n$response = $cpanel->uapi(\n    'DomainRecommendations',\n    'domain_availability',\n    array('domain' => 'mybusiness.com')\n);\n\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    echo \"Available: \" . $data['is_domain_available'] . \"\\n\";\n}\nelse {\n    echo json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n$cpanel->end();"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 134"
      }
    },
    "/DomainRecommendations/domain_suggestions": {
      "get": {
        "x-readonly": true,
        "description": "This function returns available domain name suggestions and their registration pricing for a given search term.\n\nThe system retrieves the results from the configured domain store and caches them for up to two minutes per unique combination of `search_field`, `page`, `page_size`, and the requested `tld` list. Use the `use_cache=0` option to bypass the cache and force a live request.\n\n**Note:**\n\nThis function requires the `domain_recommendation` feature.",
        "operationId": "DomainRecommendations-domain_suggestions",
        "parameters": [
          {
            "description": "The search term used to generate domain suggestions. This is a free-text query, not necessarily a fully-qualified domain name.\n\n**Note:**\n\nUse the base domain name without the TLD (for example, `mybusiness` instead of `mybusiness.com`).",
            "in": "query",
            "name": "search_field",
            "required": true,
            "schema": {
              "example": "mybusiness",
              "type": "string"
            }
          },
          {
            "description": "The page number to retrieve (1-indexed).\n\nIf you do not set this value, the function uses the store's default page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": 1,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "The number of suggestions to return per page.\n\nIf you do not set this value, the function uses the store's default page size.",
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "example": 10,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to use the local response cache.\n\n* `1` — Use the cache (default). The function caches the results for up to two minutes.\n* `0` — Bypass the cache and make a live request to the store.",
            "in": "query",
            "name": "use_cache",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                1,
                0
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "domain_suggestions",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DomainRecommendations",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object containing pagination metadata and domain suggestions.",
                          "properties": {
                            "meta": {
                              "additionalProperties": true,
                              "description": "Pagination and result metadata that the store returns.",
                              "properties": {
                                "page": {
                                  "description": "The current page number (1-indexed).",
                                  "example": 1,
                                  "type": "integer"
                                },
                                "page_size": {
                                  "description": "The number of results per page.",
                                  "example": 10,
                                  "type": "integer"
                                },
                                "total_items": {
                                  "description": "The total number of available matching domain suggestions.",
                                  "example": 25,
                                  "type": "integer"
                                },
                                "total_pages": {
                                  "description": "The total number of available pages.",
                                  "example": 3,
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            },
                            "suggestions": {
                              "additionalProperties": {
                                "description": "Suggestion details for the domain.",
                                "required": [
                                  "pricing",
                                  "is_premium",
                                  "premium_cost_pricing"
                                ],
                                "properties": {
                                  "pricing": {
                                    "description": "An array of available pricing periods for the domain.",
                                    "items": {
                                      "$ref": "#/components/schemas/PricingPeriod"
                                    },
                                    "type": "array"
                                  },
                                  "is_premium": {
                                    "description": "Whether the domain suggestion is marked as premium.\n* `1` — Premium domain.\n* `0` — Non-premium domain.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 0,
                                    "type": "integer"
                                  },
                                  "premium_cost_pricing": {
                                    "description": "Premium pricing details for premium domains.",
                                    "nullable": true,
                                    "properties": {
                                      "register": {
                                        "description": "Registration premium price details, keyed by registration term (in years).",
                                        "additionalProperties": {
                                          "description": "Premium registration price for this term.",
                                          "properties": {
                                            "code": {
                                              "type": "string"
                                            },
                                            "display_value": {
                                              "type": "string"
                                            },
                                            "prefix": {
                                              "type": "string"
                                            },
                                            "suffix": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "example": {
                                          "1": {
                                            "code": "USD",
                                            "display_value": "$50.00 USD",
                                            "prefix": "$",
                                            "suffix": " USD",
                                            "value": "50.00"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "A mapping of available domain names to pricing periods.\n\nEach key is a fully-qualified domain name (for example,\n`mybusiness.com`). Each value is an object containing a\n`pricing` array of `PricingPeriod` objects, an\n`is_premium` flag, and optional `premium_cost_pricing`\ndetails.\n\nThe function returns an empty object (`{}`) when no\nsuggestions are available.",
                              "example": {
                                "mybusiness.com": {
                                  "is_premium": 0,
                                  "premium_cost_pricing": null,
                                  "pricing": [
                                    {
                                      "period": 1,
                                      "register": {
                                        "code": "USD",
                                        "display_value": "$9.99 USD",
                                        "prefix": "$",
                                        "suffix": " USD",
                                        "value": "9.99"
                                      },
                                      "renew": {
                                        "code": "USD",
                                        "display_value": "$9.99 USD",
                                        "prefix": "$",
                                        "suffix": " USD",
                                        "value": "9.99"
                                      },
                                      "transfer": null
                                    }
                                  ]
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Search for available domain names and pricing",
        "tags": [
          "DomainRecommendations"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainRecommendations \\\n  domain_suggestions \\\n  search_field=mybusiness\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainRecommendations/domain_suggestions?search_field=mybusiness"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainRecommendations_domain_suggestions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainRecommendations_domain_suggestions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainRecommendations/,\n    q/domain_suggestions/,\n    { search_field => 'mybusiness' }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data        = $response->{cpanelresult}{result}{data};\n    my $suggestions = $data->{suggestions};\n    foreach my $domain ( sort keys %$suggestions ) {\n        # suggestions->{$domain} is a hashref with 'pricing', 'is_premium', 'premium_cost_pricing'\n        my $suggestion   = $suggestions->{$domain};\n        my ($period_1yr) = grep { $_->{period} == 1 } @{ $suggestion->{pricing} };\n        my $price = $period_1yr ? $period_1yr->{register}{display_value} : 'N/A';\n        print \"$domain: $price\\n\";\n    }\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n$cpanel->end();\n\nsub to_json {\n    require JSON;\n    return JSON->new->pretty->encode($_[0]);\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainRecommendations_domain_suggestions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainRecommendations_domain_suggestions.live.php\n//--------------------------------------------------------------------------------------\n\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\nheader('Content-Type: text/plain');\n\n$cpanel = new CPANEL();\n\n$response = $cpanel->uapi(\n    'DomainRecommendations',\n    'domain_suggestions',\n    array('search_field' => 'mybusiness')\n);\n\nif ($response['cpanelresult']['result']['status']) {\n    $data        = $response['cpanelresult']['result']['data'];\n    $suggestions = $data['suggestions'];\n    foreach ($suggestions as $domain => $suggestion) {\n        // $suggestion has 'pricing', 'is_premium', 'premium_cost_pricing'\n        $price = 'N/A';\n        foreach ($suggestion['pricing'] as $period) {\n            if ($period['period'] === 1) {\n                $price = $period['register']['display_value'];\n                break;\n            }\n        }\n        echo \"$domain: $price\\n\";\n    }\n}\nelse {\n    echo json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n$cpanel->end();"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 134"
      }
    },
    "/DomainRecommendations/get_store_config": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the allowlisted store configuration for the Domain Recommendations feature.\n\n**Important:**\n\nThis function returns only explicitly allowlisted fields. Any key not on the allowlist — including credentials, URLs, and future additions — is excluded by default.\n\n**Note:**\n\nThis function requires the `domain_recommendation` feature.",
        "operationId": "DomainRecommendations-get_store_config",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_store_config",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DomainRecommendations",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object containing the allowlisted store configuration values.\nReturns an empty object (`{}`) if no store is configured.",
                          "properties": {
                            "store_type": {
                              "description": "The type of the configured domain store.\n\n* `WHMCS` — The store uses a WHMCS backend.",
                              "example": "WHMCS",
                              "type": "string"
                            }
                          },
                          "additionalProperties": false,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Retrieve the sanitized domain store configuration",
        "tags": [
          "DomainRecommendations"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainRecommendations \\\n  get_store_config\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainRecommendations/get_store_config"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainRecommendations_get_store_config.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainRecommendations_get_store_config.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainRecommendations/,\n    q/get_store_config/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print to_json($data);\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n$cpanel->end();\n\nsub to_json {\n    require JSON;\n    return JSON->new->pretty->encode($_[0]);\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainRecommendations_get_store_config.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainRecommendations_get_store_config.live.php\n//--------------------------------------------------------------------------------------\n\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\nheader('Content-Type: text/plain');\n\n$cpanel = new CPANEL();\n\n$response = $cpanel->uapi(\n    'DomainRecommendations',\n    'get_store_config'\n);\n\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    echo json_encode($data, JSON_PRETTY_PRINT);\n}\nelse {\n    echo json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n$cpanel->end();"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 134"
      }
    },
    "/DomainRecommendations/is_enabled": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the enablement status of the Domain Recommendations feature on the server.\n\n**Note:**\n\nThis function requires the `domain_recommendation` feature. If the cPanel account does not have this feature, the function returns an error.",
        "operationId": "DomainRecommendations-is_enabled",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "is_enabled",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DomainRecommendations",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object containing the enabled status of the Domain Recommendations feature.",
                          "properties": {
                            "is_enabled": {
                              "description": "Whether the server has the Domain Recommendations feature enabled.\n\n* `1` — Enabled.\n* `0` — Disabled.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Check whether Domain Recommendations is enabled",
        "tags": [
          "DomainRecommendations"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainRecommendations \\\n  is_enabled\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainRecommendations/is_enabled"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainRecommendations_is_enabled.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainRecommendations_is_enabled.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainRecommendations/,\n    q/is_enabled/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print \"Domain Recommendations enabled: $data->{is_enabled}\\n\";\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n$cpanel->end();\n\nsub to_json {\n    require JSON;\n    return JSON->new->pretty->encode($_[0]);\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainRecommendations_is_enabled.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainRecommendations_is_enabled.live.php\n//--------------------------------------------------------------------------------------\n\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\nheader('Content-Type: text/plain');\n\n$cpanel = new CPANEL();\n\n$response = $cpanel->uapi(\n    'DomainRecommendations',\n    'is_enabled'\n);\n\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    echo \"Domain Recommendations enabled: \" . $data['is_enabled'] . \"\\n\";\n}\nelse {\n    echo json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n$cpanel->end();"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 134"
      }
    },
    "/DomainRecommendations/purchase_domain": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function returns a URL for the configured domain store's checkout page. This URL allows the user to complete the purchase of a domain name.\n\n**Note:**\n\nThis function requires the `domain_recommendation` feature.",
        "operationId": "DomainRecommendations-purchase_domain",
        "parameters": [
          {
            "description": "The fully-qualified domain name (FQDN) to purchase.\n\n**Note:**\n\nThis value must include the TLD (for example, `mybusiness.com`).",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "mybusiness.com",
              "type": "string"
            }
          },
          {
            "description": "The registration period in years.",
            "in": "query",
            "name": "period",
            "required": true,
            "schema": {
              "example": 1,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "purchase_domain",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DomainRecommendations",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object that contains the URL to complete the domain purchase.",
                          "properties": {
                            "purchase_url": {
                              "description": "The URL to redirect the user to in order to complete the domain purchase through the configured store.",
                              "example": "https://store.example.com/cart.php?a=add&domain=register&sld=mybusiness&tld=.com&regperiod=1",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Get a URL to purchase a domain",
        "tags": [
          "DomainRecommendations"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainRecommendations \\\n  purchase_domain \\\n  domain=mybusiness.com \\\n  period=1\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainRecommendations/purchase_domain?domain=mybusiness.com&period=1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainRecommendations_purchase_domain.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainRecommendations_purchase_domain.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainRecommendations/,\n    q/purchase_domain/,\n    {\n        domain => 'mybusiness.com',\n        period => 1,\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print \"Purchase URL: $data->{purchase_url}\\n\";\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n$cpanel->end();\n\nsub to_json {\n    require JSON;\n    return JSON->new->pretty->encode($_[0]);\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainRecommendations_purchase_domain.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainRecommendations_purchase_domain.live.php\n//--------------------------------------------------------------------------------------\n\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\nheader('Content-Type: text/plain');\n\n$cpanel = new CPANEL();\n\n$response = $cpanel->uapi(\n    'DomainRecommendations',\n    'purchase_domain',\n    array(\n        'domain' => 'mybusiness.com',\n        'period' => 1,\n    )\n);\n\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    echo \"Purchase URL: \" . $data['purchase_url'] . \"\\n\";\n}\nelse {\n    echo json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n$cpanel->end();"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138"
      }
    },
    "/DomainRecommendations/supported_tlds": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the list of top-level domains (TLDs) that the configured domain store supports for registration.\n\nThe system caches the results for up to two minutes. Use the `use_cache=0` option to bypass the cache and force a live request.\n\n**Note:**\n\nThis function requires the `domain_recommendation` feature.",
        "operationId": "DomainRecommendations-supported_tlds",
        "parameters": [
          {
            "description": "Whether to use the local response cache.\n\n* `1` — Use the cache (default). The system caches the results for up to two minutes.\n* `0` — Bypass the cache and make a live request to the store.",
            "in": "query",
            "name": "use_cache",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                1,
                0
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "supported_tlds",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DomainRecommendations",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object containing the list of supported TLDs.",
                          "properties": {
                            "tlds": {
                              "description": "An array of top-level domain (TLD) strings that the\nconfigured store supports for registration.\n\nEach entry is a TLD string without a leading dot\n(for example, `com`, `net`, `org`).",
                              "example": [
                                "com",
                                "net",
                                "org",
                                "io"
                              ],
                              "items": {
                                "example": "com",
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "List the TLDs supported by the domain store",
        "tags": [
          "DomainRecommendations"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DomainRecommendations \\\n  supported_tlds\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DomainRecommendations/supported_tlds"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DomainRecommendations_supported_tlds.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DomainRecommendations_supported_tlds.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DomainRecommendations/,\n    q/supported_tlds/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print \"Supported TLDs: \" . join(', ', @{ $data->{tlds} }) . \"\\n\";\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n$cpanel->end();\n\nsub to_json {\n    require JSON;\n    return JSON->new->pretty->encode($_[0]);\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DomainRecommendations_supported_tlds.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DomainRecommendations_supported_tlds.live.php\n//--------------------------------------------------------------------------------------\n\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\nheader('Content-Type: text/plain');\n\n$cpanel = new CPANEL();\n\n$response = $cpanel->uapi(\n    'DomainRecommendations',\n    'supported_tlds'\n);\n\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    echo \"Supported TLDs: \" . implode(', ', $data['tlds']) . \"\\n\";\n}\nelse {\n    echo json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n\n$cpanel->end();"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138"
      }
    },
    "/DynamicDNS/create": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a Dynamic DNS (DDNS) domain.\n\n**Important:**\n\nWhen you disable the [_DNS_ role](https://go.cpanel.net/serverroles), the system disables this function.",
        "operationId": "DynamicDNS-create",
        "parameters": [
          {
            "description": "The fully-qualified domain name to create as a DDNS domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "home.example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "A human-readable string that describes the domain.",
            "in": "query",
            "name": "description",
            "required": false,
            "schema": {
              "example": "Home network",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "create",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DynamicDNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Information about the newly-created DDNS domain.",
                          "properties": {
                            "created_time": {
                              "description": "The creation time of the Dynamic DNS domain.",
                              "format": "unix_timestamp",
                              "type": "integer"
                            },
                            "id": {
                              "description": "The DDNS domain’s ID.",
                              "example": "ggiugyxxjwnkmqtwysgmvrurplmafxpq",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create Dynamic DNS domain",
        "tags": [
          "DynamicDNS",
          "Dynamic DNS"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DynamicDNS \\\n  create \\\n  domain='home.example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DynamicDNS/create?domain=home.example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DynamicDNS_create.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DynamicDNS_create.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DynamicDNS/,\n    q/create/,\n    {\n        'domain' => 'home.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DynamicDNS_create.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DynamicDNS_create.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DynamicDNS',\n    'create',\n    array (\n        'domain' => 'home.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 82
      }
    },
    "/DynamicDNS/delete": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes an existing Dynamic DNS (DDNS) domain.\n\n**Important:**\n\nWhen you disable the [_DNS_ role](https://go.cpanel.net/serverroles), the system disables this function.",
        "operationId": "DynamicDNS-delete",
        "parameters": [
          {
            "description": "The DDNS domain’s ID.",
            "in": "query",
            "name": "id",
            "required": true,
            "schema": {
              "example": "ggiugyxxjwnkmqtwysgmvrurplmafxpq",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DynamicDNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Information about the deletion.",
                          "properties": {
                            "deleted": {
                              "description": "Whether a DDNS domain with the given ID existed for deletion.\n\n* `0` - No DDNS domain with the given ID existed.\n* `1` - A DDNS domain with the given ID existed but is now deleted.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "number"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete Dynamic DNS domain",
        "tags": [
          "DynamicDNS",
          "Dynamic DNS"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DynamicDNS \\\n  delete \\\n  id='ggiugyxxjwnkmqtwysgmvrurplmafxpq'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DynamicDNS/delete?id=ggiugyxxjwnkmqtwysgmvrurplmafxpq"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DynamicDNS_delete.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DynamicDNS_delete.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DynamicDNS/,\n    q/delete/,\n    {\n        'id' => 'ggiugyxxjwnkmqtwysgmvrurplmafxpq',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DynamicDNS_delete.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DynamicDNS_delete.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DynamicDNS',\n    'delete',\n    array (\n        'id' => 'ggiugyxxjwnkmqtwysgmvrurplmafxpq',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 82
      }
    },
    "/DynamicDNS/list": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the user’s Dynamic DNS (DDNS) domains.\n\n**Important:**\n\nWhen you disable the [_DNS_ role](https://go.cpanel.net/serverroles), the system disables this function.",
        "operationId": "DynamicDNS-list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DynamicDNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The user’s DDNS domains.",
                          "items": {
                            "properties": {
                              "created_time": {
                                "description": "The DDNS domain’s creation time.",
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "description": {
                                "description": "A user-editable string that describes the DDNS domain.",
                                "example": "My home network",
                                "type": "string"
                              },
                              "domain": {
                                "description": "The domain.",
                                "example": "home.example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "id": {
                                "description": "The domain’s DDNS ID.\n\n**Note:**\n\nThis ID goes into the URL that the client uses to\n[update the domain’s IP address\nresolution](https://go.cpanel.net/cpaneldocsdynamicdns).",
                                "example": "gziugyxxjwnamqtwysgmvrurplmafxpj",
                                "type": "string"
                              },
                              "last_run_times": {
                                "description": "The most recent times when the web call ran.\n\n**Note:**\n\nThis list changes every time the web call runs,\neven if the domain’s IP address resolution does\n**not** change.",
                                "items": {
                                  "format": "unix_timestamp",
                                  "type": "integer"
                                },
                                "type": "array"
                              },
                              "last_update_time": {
                                "description": "The most recent update time for the\nDDNS domain.\n\n**Note:**\n\nThis value changes **only** when\nthe domain’s IP address resolution changes.",
                                "format": "unix_timestamp",
                                "nullable": true,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return Dynamic DNS domains",
        "tags": [
          "DynamicDNS",
          "Dynamic DNS"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DynamicDNS \\\n  list\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DynamicDNS/list"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DynamicDNS_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DynamicDNS_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DynamicDNS/,\n    q/list/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DynamicDNS_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DynamicDNS_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DynamicDNS',\n    'list'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 82
      }
    },
    "/DynamicDNS/recreate": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function gives a new, randomly-generated ID to an existing Dynamic DNS (DDNS) domain.\n\n**Important:**\n\nWhen you disable the [_DNS_ role](https://go.cpanel.net/serverroles), the system disables this function.",
        "operationId": "DynamicDNS-recreate",
        "parameters": [
          {
            "description": "The DDNS domain’s ID.",
            "in": "query",
            "name": "id",
            "required": true,
            "schema": {
              "example": "ggiugyxxjwnkmqtwysgmvrurplmafxpq",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "recreate",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DynamicDNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Information about the DDNS domain.",
                          "properties": {
                            "id": {
                              "description": "The DDNS domain’s new ID.",
                              "example": "ggiugyxxjwnkmqtwysgmvrurplmafxpq",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update Dynamic DNS domain ID",
        "tags": [
          "DynamicDNS",
          "Dynamic DNS"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DynamicDNS \\\n  recreate \\\n  id='ggiugyxxjwnkmqtwysgmvrurplmafxpq'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DynamicDNS/recreate?id=ggiugyxxjwnkmqtwysgmvrurplmafxpq"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DynamicDNS_recreate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DynamicDNS_recreate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DynamicDNS/,\n    q/recreate/,\n    {\n        'id' => 'ggiugyxxjwnkmqtwysgmvrurplmafxpq',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DynamicDNS_recreate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DynamicDNS_recreate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DynamicDNS',\n    'recreate',\n    array (\n        'id' => 'ggiugyxxjwnkmqtwysgmvrurplmafxpq',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 82
      }
    },
    "/DynamicDNS/set_description": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sets the description on a user’s Dynamic DNS (DDNS) domain.\n\n**Important:**\n\nWhen you disable the [_DNS_ role](https://go.cpanel.net/serverroles), the system disables this function.",
        "operationId": "DynamicDNS-set_description",
        "parameters": [
          {
            "description": "A human-readable string that describes the domain.",
            "in": "query",
            "name": "description",
            "required": true,
            "schema": {
              "example": "Home network",
              "type": "string"
            }
          },
          {
            "description": "The DDNS domain’s ID.",
            "in": "query",
            "name": "id",
            "required": true,
            "schema": {
              "example": "ggiugyxxjwnkmqtwysgmvrurplmafxpq",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "DynamicDNS",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update Dynamic DNS domain description",
        "tags": [
          "DynamicDNS",
          "Dynamic DNS"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  DynamicDNS \\\n  set_description \\\n  id='ggiugyxxjwnkmqtwysgmvrurplmafxpq' \\\n  description='Home network'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/DynamicDNS/set_description?id=ggiugyxxjwnkmqtwysgmvrurplmafxpq&description=Home%20network"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file DynamicDNS_set_description.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/DynamicDNS_set_description.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/DynamicDNS/,\n    q/set_description/,\n    {\n        'id' => 'ggiugyxxjwnkmqtwysgmvrurplmafxpq',\n        'description' => 'Home network',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file DynamicDNS_set_description.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/DynamicDNS_set_description.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'DynamicDNS',\n    'set_description',\n    array (\n        'id' => 'ggiugyxxjwnkmqtwysgmvrurplmafxpq',\n        'description' => 'Home network',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 82
      }
    },
    "/EA4/get_php_recommendations": {
      "get": {
        "x-readonly": true,
        "description": "This function returns a list of recommended PHP versions.",
        "operationId": "EA4-get_php_recommendations",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_php_recommendations",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EA4",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of recommended PHP versions.",
                          "items": {
                            "example": "php80",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Get custom PHP recommendations.",
        "tags": [
          "PHP"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EA4 \\\n  get_php_recommendations\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EA4/get_php_recommendations"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EA4_get_php_recommendations.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EA4_get_php_recommendations.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EA4/,\n    q/get_php_recommendations/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EA4_get_php_recommendations.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EA4_get_php_recommendations.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EA4',\n    'get_php_recommendations'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 82
      }
    },
    "/EA4/get_recommendations": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves a list of EasyApache 4 (EA4) configuration recommendations.",
        "operationId": "EA4-get_recommendations",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_recommendations",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EA4",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "additionalProperties": {
                            "description": "An object that contains recommendation information about a package.\n\n**Note:**\n\nThe function uses the name of the referenced package as the return name.",
                            "items": {
                              "properties": {
                                "desc": {
                                  "description": "The recommendation's description.\n\n**Note:**\n\nThe function **only** returns this value if one exists.",
                                  "type": "string"
                                },
                                "level": {
                                  "description": "The level that triggers a recommendation to appear, based on [Bootstrap 3 alert components](http://getbootstrap.com/components/#alerts).\n\n* `primary`\n* `success`\n* `info`\n* `warning`\n* `danger`\n\n**Note:**\n\n* The function **only** returns this value if one exists.\n* This return's value only affects the UI if set to `danger`.",
                                  "enum": [
                                    "primary",
                                    "success",
                                    "info",
                                    "warning",
                                    "danger"
                                  ],
                                  "type": "string"
                                },
                                "name": {
                                  "description": "The recommendation's name.",
                                  "type": "string"
                                },
                                "on": {
                                  "description": "The action that triggers a recommendation.\n\n* `add`\n* `remove`",
                                  "enum": [
                                    "add",
                                    "remove"
                                  ],
                                  "type": "string"
                                },
                                "options": {
                                  "description": "An object that contains each option for the package's recommendations.",
                                  "items": {
                                    "properties": {
                                      "items": {
                                        "description": "An array of information that corresponds with a text value.\n\n**Note:**\n\nThe function **only** returns this value if one exists.",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      },
                                      "level": {
                                        "description": "The level that triggers a recommendation to appear, based on [Bootstrap 3 alert components](http://getbootstrap.com/components/#alerts).\n\n* `primary`\n* `success`\n* `info`\n* `warning`\n* `danger`\n\n**Note:**\n\n* The function **only** returns this value if one exists.\n* This return's value only affects the UI if set to `danger`.",
                                        "enum": [
                                          "primary",
                                          "success",
                                          "info",
                                          "warning",
                                          "danger"
                                        ],
                                        "type": "string"
                                      },
                                      "recommended": {
                                        "description": "The type of recommendation that the interface will return.\n\n* `true` - Recommended.\n* `false` - Not recommended.\n\n**Note:**\n\n* The function **only** returns this value if one exists.\n* If the function does **not** return this value, then the interface will display informational text.",
                                        "type": "boolean"
                                      },
                                      "text": {
                                        "description": "The text that the user interface displays.",
                                        "type": "string"
                                      },
                                      "url": {
                                        "description": "A URL that provides more information.\n\n**Note:**\n\nThe function **only** returns this value if one exists.",
                                        "format": "url",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "url": {
                                  "description": "A URL to provide more information.\n\n**Note:**\n\nThe function **only** returns this value if one exists.",
                                  "format": "url",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "example": {
                            "ea-php55-php": [
                              {
                                "desc": "PHP DSO runs as the user [asis,nobody] by default. In a shared hosting environment, this is a security issue.",
                                "level": "danger",
                                "name": "PHP DSO",
                                "on": "add",
                                "options": [
                                  {
                                    "items": [
                                      "ea-apache24-mod_ruid2",
                                      "ea-apache24-mod_mpm_itk"
                                    ],
                                    "level": "success",
                                    "recommended": true,
                                    "text": "We strongly recommend that you install one of the following packages unless this is a single-user system:"
                                  },
                                  {
                                    "level": "warning",
                                    "recommended": false,
                                    "text": "If you use suPHP, you will add some security, but may experience performance issues on your server."
                                  }
                                ],
                                "url": "https://www.example.com"
                              }
                            ]
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` – Success.\n* `0` – Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Get EA4 configuration recommendations",
        "tags": [
          "EA4"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EA4 \\\n  get_recommendations\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EA4/get_recommendations"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EA4_get_recommendations.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EA4_get_recommendations.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EA4/,\n    q/get_recommendations/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EA4_get_recommendations.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EA4_get_recommendations.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EA4',\n    'get_recommendations'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/Email/account_name": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the provided value. This function works with other functions to display form data within a user interface.\n\n**Note:**\n\n  If you call this function from a Webmail session URL, the system will **only** access data for that email account.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-account_name",
        "parameters": [
          {
            "description": "The function will return this value in the data return. If you do **not** include this parameter, the function returns `All Mail On The Account` or a blank value.\n* A valid string.\n* An empty value.\n\n**Note:**\n\n The function does **not** validate this parameter's value.",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "example": "user",
              "type": "string"
            }
          },
          {
            "description": "Include this parameter to cause the function to return `All Mail On The Account` if the account parameter is blank or does not exist. If you do **not** include this parameter and the account value is blank or does not exist, the function returns a blank data value.",
            "in": "query",
            "name": "display",
            "required": false,
            "schema": {
              "example": "any_value",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "account_name",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The account parameter's value.\n* A valid string.\n* `All Mail On The Account`\n* An empty value.",
                          "example": "user@example.com",
                          "format": "email",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return current user's account name",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  account_name\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/account_name"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_account_name.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_account_name.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/account_name/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_account_name.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_account_name.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'account_name'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/add_auto_responder": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates an autoresponder for an email account.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-add_auto_responder",
        "parameters": [
          {
            "description": "The contents of the autoresponder message's `Body` section.",
            "in": "query",
            "name": "body",
            "required": true,
            "schema": {
              "example": "This is an autoresponder message.",
              "type": "string"
            }
          },
          {
            "description": "The email account's domain. For example, `example.com` if the email address is `user@example.com`.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The email account name. For example, `user` if the email address is `user@example.com`.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user",
              "type": "string"
            }
          },
          {
            "description": "The contents of the autoresponder message's `From:` field.",
            "in": "query",
            "name": "from",
            "required": true,
            "schema": {
              "example": "User Name",
              "type": "string"
            }
          },
          {
            "description": "The amount of time, in hours, that the server waits between autoresponder messages to the same address.\n\n**Note:**\n\n  If you specify `0`, the system sends a message for each received email.",
            "in": "query",
            "name": "interval",
            "required": true,
            "schema": {
              "example": 24,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether the body of the autoresponder message begins with an [HTML Content-Type declaration](https://en.wikipedia.org/wiki/Character_encodings_in_HTML#Specifying_the_document.27s_character_encoding).\n* `1` — Include an HTML content type declaration.\n* `0` — Do **not** include an HTML content type declaration.",
            "in": "query",
            "name": "is_html",
            "required": true,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "When to enable the autoresponder.",
            "in": "query",
            "name": "start",
            "required": true,
            "schema": {
              "example": 1410277881,
              "format": "unix_timestamp",
              "type": "integer"
            }
          },
          {
            "description": "When to disable the autoresponder. A time that is after the `start` time.",
            "in": "query",
            "name": "stop",
            "required": true,
            "schema": {
              "example": 1410300000,
              "format": "unix_timestamp",
              "type": "integer"
            }
          },
          {
            "description": "The contents of the autoresponder message's `Subject:` field.",
            "in": "query",
            "name": "subject",
            "required": true,
            "schema": {
              "example": "Autoresponder Subject",
              "type": "string"
            }
          },
          {
            "description": "The [character set](https://en.wikipedia.org/wiki/Character_encoding).",
            "in": "query",
            "name": "charset",
            "required": false,
            "schema": {
              "default": "utf-8",
              "example": "UTF-8",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_auto_responder",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create email account's autoresponder",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  add_auto_responder \\\n  email='user' \\\n  from='User Name' \\\n  subject='Autoresponder Subject' \\\n  body='This is an autoresponder message.' \\\n  domain='example.com' \\\n  is_html='1' \\\n  interval='24' \\\n  start='1410277881' \\\n  stop='1410300000'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/add_auto_responder?email=user&from=User%20Name&subject=Autoresponder%20Subject&body=This%20is%20an%20autoresponder%20message.&domain=example.com&is_html=1&interval=24&start=1410277881&stop=1410300000"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_auto_responder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_auto_responder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_auto_responder/,\n    {\n        'email' => 'user',\n        'from' => 'User Name',\n        'subject' => 'Autoresponder Subject',\n        'body' => 'This is an autoresponder message.',\n        'domain' => 'example.com',\n        'is_html' => '1',\n        'interval' => '24',\n        'start' => '1410277881',\n        'stop' => '1410300000',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_auto_responder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_auto_responder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_auto_responder',\n    array (\n        'email' => 'user',\n        'from' => 'User Name',\n        'subject' => 'Autoresponder Subject',\n        'body' => 'This is an autoresponder message.',\n        'domain' => 'example.com',\n        'is_html' => '1',\n        'interval' => '24',\n        'start' => '1410277881',\n        'stop' => '1410300000',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/add_domain_forwarder": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a domain-level forwarder.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-add_domain_forwarder",
        "parameters": [
          {
            "description": "The domain to receive forwarded mail.",
            "in": "query",
            "name": "destdomain",
            "required": true,
            "schema": {
              "example": "forwardtome.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The domain on the cPanel account from which to forward mail.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_domain_forwarder",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "A message of success, or a reason for failure.\n* A message of success that lists the updated `vdomainaliases` file.\n* A reason for failure.",
                          "example": "File updated \"/etc/vdomainaliases/example.com\"",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create domain-level forwarder",
        "tags": [
          "Email",
          "Email Forwarding"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  add_domain_forwarder \\\n  domain='example.com' \\\n  destdomain='forwardtome.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/add_domain_forwarder?domain=example.com&destdomain=forwardtome.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_domain_forwarder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_domain_forwarder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_domain_forwarder/,\n    {\n        'domain' => 'example.com',\n        'destdomain' => 'forwardtome.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_domain_forwarder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_domain_forwarder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_domain_forwarder',\n    array (\n        'domain' => 'example.com',\n        'destdomain' => 'forwardtome.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/add_forwarder": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates an email forwarder.\n\n**Important:**\n\n  When you disable the MailReceive role, the system disables this function.\n  For more information, read our [How to Use Server Profiles](https://go.cpanel.net/howtouseserverprofiles)\n  documentation.",
        "operationId": "Email-add_forwarder",
        "parameters": [
          {
            "description": "The domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "type": "string"
            }
          },
          {
            "description": "The email address to forward.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "forwardme@example.com",
              "type": "string"
            }
          },
          {
            "description": "The method to use to handle the email address's mail.",
            "in": "query",
            "name": "fwdopt",
            "required": true,
            "schema": {
              "example": "fwd",
              "type": "string"
            }
          },
          {
            "description": "The failure message for the message's sender.\n\n**Note:**\n\n Use this parameter if you used the fail method for the fwdopt parameter.",
            "in": "query",
            "name": "failmsgs",
            "required": false,
            "schema": {
              "default": "No such person at this address",
              "example": "Nobody home.",
              "type": "string"
            }
          },
          {
            "description": "The email address to which the system forwards messages.\n\n**Note:**\n\n You must use this parameter if you used the fwd method for the fwdopt parameter. You can pass multiple addresses to this parameter as a comma-separated list.",
            "in": "query",
            "name": "fwdemail",
            "required": false,
            "schema": {
              "example": "fwdtome@example.com",
              "type": "string"
            }
          },
          {
            "description": "The system user to whom the system forwards messages.\n\n**Note:**\n\n You must use this parameter if you used the system method for the fwdopt parameter.",
            "in": "query",
            "name": "fwdsystem",
            "required": false,
            "schema": {
              "example": "user",
              "type": "string"
            }
          },
          {
            "description": "The application to which the system pipes messages.\n\n**Note:**\n\n You must use this parameter if you used the pipe method for the fwdopt parameter.\n\n**Important:**\n\n  This parameter requires the FileStorage role. For more information, read our\n  [How to Use Server Profiles](https://go.cpanel.net/howtouseserverprofiles) documentation.",
            "in": "query",
            "name": "pipefwd",
            "required": false,
            "schema": {
              "example": "mailscript.pl",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_forwarder",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The domain. A valid domain on the account.",
                                "example": "example.com",
                                "type": "string"
                              },
                              "email": {
                                "description": "The email address. An email address on the account.",
                                "example": "user@example.com",
                                "type": "string"
                              },
                              "forward": {
                                "description": "The method that the system will use to handle the address's mail.\n- An email address  The system forwards mail to this address.\n- :fail:  The system bounces mail back to the sender and sends a failure message.\n- :blackhole:  The system deletes mail without a failure message.\n- The path to an application  The system pipes mail to this application.\n- A username  The system forwards mail to this system account.",
                                "example": "fwdtome@example.com",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create email account forwarder",
        "tags": [
          "Email",
          "Email Forwarding"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  add_forwarder \\\n  domain='example.com' \\\n  email='forwardme@example.com' \\\n  fwdopt='fwd'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/add_forwarder?domain=example.com&email=forwardme%40example.com&fwdopt=fwd"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_forwarder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_forwarder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_forwarder/,\n    {\n        'domain' => 'example.com',\n        'email' => 'forwardme@example.com',\n        'fwdopt' => 'fwd',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_forwarder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_forwarder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_forwarder',\n    array (\n        'domain' => 'example.com',\n        'email' => 'forwardme@example.com',\n        'fwdopt' => 'fwd',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/add_list": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a Mailman mailing list.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-add_list",
        "parameters": [
          {
            "description": "The domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The mailing list name.",
            "in": "query",
            "name": "list",
            "required": true,
            "schema": {
              "example": "newlist",
              "type": "string"
            }
          },
          {
            "description": "The mailing list password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "12345luggage",
              "type": "string"
            }
          },
          {
            "description": "Whether the mailing list is private.\n* `1` — Private.\n* `0` — Public.",
            "in": "query",
            "name": "private",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether to rebuild the mailing list.\n* `1` — Rebuild the mailing list.\n* `0` — Do **not** rebuild the mailing list.",
            "in": "query",
            "name": "rebuildonly",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_list",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create mailing list",
        "tags": [
          "Email",
          "Mailing Lists"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  add_list \\\n  list='newlist' \\\n  password='12345luggage' \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/add_list?list=newlist&password=12345luggage&domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_list/,\n    {\n        'list' => 'newlist',\n        'password' => '12345luggage',\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_list',\n    array (\n        'list' => 'newlist',\n        'password' => '12345luggage',\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/add_mailman_delegates": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function grants mailing list administrative privileges to users.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-add_mailman_delegates",
        "parameters": [
          {
            "description": "A list of the administrators to add.\n\n**Note:**\n\n  Separate multiple email addresses with commas.",
            "examples": {
              "multiple": {
                "summary": "Multiple delegates",
                "value": "delegates=user@example.com,admin@example.com"
              },
              "single": {
                "summary": "A single delegate.",
                "value": "user@example.com"
              }
            },
            "explode": false,
            "in": "query",
            "name": "delegates",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "The mailing list.",
            "in": "query",
            "name": "list",
            "required": true,
            "schema": {
              "example": "mylist",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_mailman_delegates",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "delegates": {
                              "description": "An array of the mailing list's administrators.",
                              "items": {
                                "example": "admin@example.com, user@example.com",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "metadata": {
                              "properties": {
                                "transformed": {}
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add administrators to mailing list",
        "tags": [
          "Email",
          "Mailing Lists"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  add_mailman_delegates \\\n  list='mylist' \\\n  delegates='user@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/add_mailman_delegates?list=mylist&delegates=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_mailman_delegates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_mailman_delegates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_mailman_delegates/,\n    {\n        'list' => 'mylist',\n        'delegates' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_mailman_delegates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_mailman_delegates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_mailman_delegates',\n    array (\n        'list' => 'mylist',\n        'delegates' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/add_mx": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a Mail Exchanger (MX) record. For more information about MX record settings, read our [Email Routing Configuration](https://go.cpanel.net/whmdocsEmailRoutingConfiguration) documentation.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function",
        "operationId": "Email-add_mx",
        "parameters": [
          {
            "description": "The new mail exchanger's domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The new mail exchanger's name.",
            "in": "query",
            "name": "exchanger",
            "required": true,
            "schema": {
              "example": "mail.example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The new mail exchanger's [priority value](https://go.cpanel.net/whmdocsEditMXEntry).\n\n**Note:**\n\n  It is common practice to set a priority value that is divisible by five.",
            "in": "query",
            "name": "priority",
            "required": true,
            "schema": {
              "example": 5,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether the mail exchanger accepts all mail for the domain.\n* `1` — The mail exchanger always accepts mail.\n* `0` — The mail exchanger does **not** always accept mail.",
            "in": "query",
            "name": "alwaysaccept",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_mx",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "checkmx": {
                              "description": "An object of the mail exchanger's data.",
                              "properties": {
                                "changed": {
                                  "description": "Whether a change occurred during the function.\n* `1` - Change occurred.\n* `0` - **No** change.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 1,
                                  "type": "integer"
                                },
                                "detected": {
                                  "description": "The mail exchanger type.\n* `auto`\n* `local`\n* `secondary`\n* `remote`",
                                  "enum": [
                                    "auto",
                                    "local",
                                    "secondary",
                                    "remote"
                                  ],
                                  "example": "auto",
                                  "type": "string"
                                },
                                "isprimary": {
                                  "description": "Whether the mail exchanger is the primary mail exchanger.\n* `1` - Primary.\n* `0` - **Not** primary.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "issecondary": {
                                  "description": "Whether the mail exchanger is a secondary exchanger.\n* `1` - Secondary.\n* `0` - **Not** secondary.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "local": {
                                  "description": "Whether the mail exchanger is a local exchanger.\n* `1` - Local.\n* `0` - **Not** local.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "mxcheck": {
                                  "description": "The mail exchanger type.\n* `auto`\n* `local`\n* `secondary`\n* `remote`",
                                  "enum": [
                                    "auto",
                                    "local",
                                    "secondary",
                                    "remote"
                                  ],
                                  "example": "auto",
                                  "type": "string"
                                },
                                "remote": {
                                  "description": "Whether the mail exchanger is a remote exchanger.\n* `1` - Remote.\n* `0` - **Not** remote.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "secondary": {
                                  "description": "Whether the mail exchanger is a secondary exchanger.\n* `1` - Secondary.\n* `0` - **Not** secondary.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "warnings": {
                                  "description": "Warning messages, if any exist.",
                                  "items": {
                                    "example": "Auto Detect of MX configuration not possible due to non-resolving MX entries. Defaulting to last known setting: local.",
                                    "type": "string"
                                  },
                                  "type": "array"
                                }
                              },
                              "type": "object"
                            },
                            "results": {
                              "description": "A message of success, or an error message.\n* A message of success that begins with `Added entry:`.\n* An error message.",
                              "example": "Added entry:\\nBind reloading on example using rndc zone: [example.com]\\n",
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether the function succeeded.\n* `1` - Success.\n* `0` - Failure.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "statusmsg": {
                              "description": "A message of success, or an error message.\n* A message of success that begins with `Added entry:`.\n* An error message.",
                              "example": "Added entry:\\nBind reloading on example using rndc zone: [example.com]\\n",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create mail exchanger record",
        "tags": [
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  add_mx \\\n  domain='example.com' \\\n  exchanger='mail.example.com' \\\n  priority='5'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/add_mx?domain=example.com&exchanger=mail.example.com&priority=5"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_mx.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_mx.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_mx/,\n    {\n        'domain' => 'example.com',\n        'exchanger' => 'mail.example.com',\n        'priority' => '5',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_mx.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_mx.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_mx',\n    array (\n        'domain' => 'example.com',\n        'exchanger' => 'mail.example.com',\n        'priority' => '5',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/add_pop": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function creates an email address.\n\n**Important:**\n\n  * When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.\n  * We recommend that you use the UAPI `UserManager::create_user` function to create an email address instead of this function. This function is incompatible with [the *Reset Password* feature](https://go.cpanel.net/resetpassdocs).\n  * You **must** URI-encode values when using the CLI.",
        "operationId": "Email-add_pop",
        "parameters": [
          {
            "description": "The email account username or address.\n* A valid email account username. For example, `user` to create `user@example.com`.\n* A valid email address.\n\n**Note:**\n\n  You **cannot** enter `cpanel` as an account name when you create an email account.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user",
              "oneOf": [
                {
                  "format": "email",
                  "type": "string"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The email account password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "123456luggage",
              "type": "string"
            }
          },
          {
            "description": "The email account's domain. For example, `example.com` to create `user@example.com`.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "default": "The cPanel account's main domain.",
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The account's password hash.\n\n**Notes:**\n\n  * You can use this parameter instead of the `password` parameter. However, you cannot use both `password` and `password_hash` parameters in the same request.\n  * You can find your server's hash type in the `/etc/sysconfig/authconfig` file.",
            "in": "query",
            "name": "password_hash",
            "required": false,
            "schema": {
              "example": "$6$1sOyHP5ZDYp3pGUz$R0TSgfPRHfDjT5PP5RJGv39FhiGTNNPvM7IFpCBjXijMmlMZk9yI8T3LqGuntc9fdKb5eX.lGL7wBS9e4DAWn/",
              "type": "string"
            }
          },
          {
            "description": "The maximum amount of disk space that the new email account may use.\n* A positive integer that represents the maximum amount of disk space, in megabytes (MB).\n* `0` or `unlimited` — The account possesses unlimited disk space.\n\n**Note:**\n\n  * The positive integer value **cannot** exceed the maximum email quota.\n  * The `0` or `unlimited` value is **only** available to users **without** a maximum email account quota.",
            "in": "query",
            "name": "quota",
            "required": false,
            "schema": {
              "default": "The defined system value.",
              "example": 500,
              "oneOf": [
                {
                  "enum": [
                    "unlimited"
                  ],
                  "type": "string"
                },
                {
                  "minimum": 0,
                  "type": "integer"
                }
              ]
            }
          },
          {
            "description": "Whether to send client configuration instructions to the account.\n* `1` — Send the instructions.\n* `0` — Do **not** send the instructions.",
            "in": "query",
            "name": "send_welcome_email",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether to skip the update of the email accounts database's cache.\n* `1` — Skip the update.\n* `0` — Perform the update.",
            "in": "query",
            "name": "skip_update_db",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_pop",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The email address. The email account username, a plus character (+), and the email account domain.",
                          "example": "user+example.com",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create email account",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  add_pop \\\n  email='user' \\\n  password='123456luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/add_pop?email=user&password=123456luggage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_pop.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_pop.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_pop/,\n    {\n        'email' => 'user',\n        'password' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_pop.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_pop.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_pop',\n    array (\n        'email' => 'user',\n        'password' => '123456luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/add_spam_filter": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sets a new minimum Apache SpamAssassin™ spam score threshold value.\n\n**Notes:**\n\n  * To disable spam filtering, use the UAPI `Email::disable_spam_autodelete` fuction.\n  * For more information, read our [Spam Filters](https://go.cpanel.net/cpaneldocsSpamFilters) documentation.\n\n**Important:**\n\n  * When you disable the [*Spam Filter* role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "Email-add_spam_filter",
        "parameters": [
          {
            "description": "The email account to apply a spam score threshold value.\n\n**Note:**\n\n  If you do **not** specify a value, the function applies the new spam score threshold value to **all** accounts.",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "Set a spam score threshold value.\n\n**Notes:**\n\n  * You **must** specify a value greater than `0`, and lower than the domain owner's spam score threshold value.\n  * You **cannot** enter `0` as a value for this parameter.\n  * You can retrieve the domain owner‘s spam score threshold value via the `cpuser_spam_auto_delete_score` return from the UAPI `Email::get_spam_settings` function.\n  * The default value, `5`, is an aggressive spam score.\n  * The lower the spam score, the more likely that Apache SpamAssassin will label messages as spam and delete them.\n  * Some systems may wish to use a more lenient spam score (for example, `8` or `10`).",
            "in": "query",
            "name": "required_score",
            "required": false,
            "schema": {
              "default": "5",
              "example": "8",
              "minimum": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_spam_filter",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update minimum spam score threshold value",
        "tags": [
          "Email",
          "Spam Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  add_spam_filter\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/add_spam_filter"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_add_spam_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_add_spam_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/add_spam_filter/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_add_spam_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_add_spam_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'add_spam_filter'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/browse_mailbox": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the mail directory's subdirectories (boxes) and files.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.\n\n**Notes:**\n\n  If you do not use any input parameters, the function returns a list of items in the cPanel account's main mail directory.",
        "operationId": "Email-browse_mailbox",
        "parameters": [
          {
            "description": "An email address, to limit the function's results.",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "A mail directory name, to limit results to specific directories.\n\n**Note:**\n\n  If you pass the `default` or `mail` values, the function lists information for all mail directories.",
            "in": "query",
            "name": "dir",
            "required": false,
            "schema": {
              "example": "maildir",
              "type": "string"
            }
          },
          {
            "description": "Whether to include hidden files and directories.\n* `1` — Include hidden items.\n* `0` — Do **not** include hidden items.",
            "in": "query",
            "name": "showdotfiles",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "browse_mailbox",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "depth": {
                                "description": "The directory depth of the item's path.",
                                "example": 2,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "file": {
                                "description": "The item's base name.",
                                "example": "archive",
                                "type": "string"
                              },
                              "fullpath": {
                                "description": "The item's absolute path.",
                                "example": "/home/example/mail/archive",
                                "format": "path",
                                "type": "string"
                              },
                              "isleaf": {
                                "description": "Whether the item is a file or a directory.\n* `1` - File.\n* `0` - Directory.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "ismailbox": {
                                "description": "Whether the item is a mailbox.\n* `1` - Mailbox.\n* `0` - **Not** a mailbox.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "mtime": {
                                "description": "The item's modification time. A time, in [Unix time](https://en.wikipedia.org/wiki/Unix_time) format.",
                                "example": 1413398866,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "path": {
                                "description": "The item's directory's path.",
                                "example": "/home/example/mail",
                                "format": "path",
                                "type": "string"
                              },
                              "relpath": {
                                "description": "The item's relative path.",
                                "example": "/archive",
                                "format": "path",
                                "type": "string"
                              },
                              "type": {
                                "description": "The item type.\n* `dir` - The item is a directory.\n* `file` - The item is a file.",
                                "enum": [
                                  "dir",
                                  "file"
                                ],
                                "example": "dir",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return mail directory's subdirectories and files",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  browse_mailbox\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/browse_mailbox"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_browse_mailbox.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_browse_mailbox.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/browse_mailbox/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_browse_mailbox.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_browse_mailbox.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'browse_mailbox'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/change_mx": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a Mail Exchanger (MX) record. For more information about MX record settings, read our [Email Routing Configuration](https://go.cpanel.net/whmdocsEmailRoutingConfiguration) documentation.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-change_mx",
        "parameters": [
          {
            "description": "The mail exchanger's domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The mail exchanger's name.",
            "in": "query",
            "name": "exchanger",
            "required": true,
            "schema": {
              "example": "mail.example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The mail exchanger's current name.",
            "in": "query",
            "name": "oldexchanger",
            "required": true,
            "schema": {
              "example": "mail.example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The mail exchanger's new [priority value](https://go.cpanel.net/whmdocsEditMXEntry).\n\n**Note:**\n\n  Common practice sets a priority value divisible by five.",
            "in": "query",
            "name": "priority",
            "required": true,
            "schema": {
              "example": 15,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether the mail exchanger accepts all mail for the domain.\n* `1` — The mail exchanger always accepts mail.\n* `0` — The mail exchanger does **not** always accept mail.",
            "in": "query",
            "name": "alwaysaccept",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The mail exchanger's current priority value. If multiple MX entries match the `oldexchanger` value, the system uses this parameter to find the correct entry.",
            "in": "query",
            "name": "oldpriority",
            "required": false,
            "schema": {
              "example": 5,
              "minimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "change_mx",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "checkmx": {
                              "description": "An object of the mail exchanger's data.",
                              "properties": {
                                "changed": {
                                  "description": "Whether a change occurred during the function.\n* `1` - Change occurred.\n* `0` - **No** change.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 1,
                                  "type": "integer"
                                },
                                "detected": {
                                  "description": "The mail exchanger type.\n* `auto`\n* `local`\n* `secondary`\n* `remote`",
                                  "enum": [
                                    "auto",
                                    "local",
                                    "secondary",
                                    "remote"
                                  ],
                                  "example": "auto",
                                  "type": "string"
                                },
                                "isprimary": {
                                  "description": "Whether the mail exchanger is the primary mail exchanger.\n* `1` - Primary.\n* `0` - **Not** primary.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "issecondary": {
                                  "description": "Whether the mail exchanger is a secondary exchanger.\n* `1` - Secondary.\n* `0` - **Not** secondary.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "local": {
                                  "description": "Whether the mail exchanger is a local exchanger.\n* `1` - Local.\n* `0` - **Not** local.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "mxcheck": {
                                  "description": "The mail exchanger type.\n* `auto`\n* `local`\n* `secondary`\n* `remote`",
                                  "enum": [
                                    "auto",
                                    "local",
                                    "secondary",
                                    "remote"
                                  ],
                                  "example": "auto",
                                  "type": "string"
                                },
                                "remote": {
                                  "description": "Whether the mail exchanger is a remote exchanger.\n* `1` - Remote.\n* `0` - **Not** remote.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "secondary": {
                                  "description": "Whether the mail exchanger is a secondary exchanger.\n* `1` - Secondary.\n* `0` - **Not** secondary.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "warnings": {
                                  "description": "Warning messages, if any exist.",
                                  "items": {
                                    "example": "Auto Detect of MX configuration not possible due to non-resolving MX entries. Defaulting to last known setting: local.",
                                    "type": "string"
                                  },
                                  "type": "array"
                                }
                              },
                              "type": "object"
                            },
                            "results": {
                              "description": "A message of success, or an error message.\n* A message of success that begins with `Added entry:`.\n* An error message.",
                              "example": "Replacing existing entry on line matched old entry and old priority: 51:\\nBind reloading on example using rndc zone: [example.com]",
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether the function succeeded.\n* `1` - Success.\n* `0` - Failure.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "statusmsg": {
                              "description": "A message of success, or an error message.\n* A message of success that begins with `Added entry:`.\n* An error message.",
                              "example": "Replacing existing entry on line matched old entry and old priority: 51:\\nBind reloading on example using rndc zone: [example.com]",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update mail exchanger record",
        "tags": [
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  change_mx \\\n  domain='example.com' \\\n  exchanger='mail.example.com' \\\n  oldexchanger='mail.example.com' \\\n  priority='15'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/change_mx?domain=example.com&exchanger=mail.example.com&oldexchanger=mail.example.com&priority=15"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_change_mx.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_change_mx.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/change_mx/,\n    {\n        'domain' => 'example.com',\n        'exchanger' => 'mail.example.com',\n        'oldexchanger' => 'mail.example.com',\n        'priority' => '15',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_change_mx.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_change_mx.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'change_mx',\n    array (\n        'domain' => 'example.com',\n        'exchanger' => 'mail.example.com',\n        'oldexchanger' => 'mail.example.com',\n        'priority' => '15',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/check_fastmail": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether [BlackBerry® FastMail](https://go.cpanel.net/blackberryfastmail) support is enabled.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "Email-check_fastmail",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "check_fastmail",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The contents of the server's `/var/cpanel/fastmail` file.\n* A positive value that represents a BlackBerry FastMail version number if it is enabled on the server.\n* A `null` value if BlackBerry FastMail is not enabled on the server.",
                          "example": "2",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return BlackBerry FastMail support status",
        "tags": [
          "Email",
          "Email Server Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  check_fastmail\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/check_fastmail"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_check_fastmail.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_check_fastmail.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/check_fastmail/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_check_fastmail.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_check_fastmail.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'check_fastmail'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/count_auto_responders": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the number of [autoresponders](https://go.cpanel.net/Autoresponders) for every email address on a cPanel account.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "Email-count_auto_responders",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "count_auto_responders",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The number of email autoresponders.\n* `0`\n* A positive integer.",
                          "example": 1,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's autoresponders total",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  count_auto_responders\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/count_auto_responders"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_count_auto_responders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_count_auto_responders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/count_auto_responders/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_count_auto_responders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_count_auto_responders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'count_auto_responders'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/Email/count_filters": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the number of [email filters](https://go.cpanel.net/cpaneldocsEmailFilters) for every email address on a cPanel account.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles) or the [*IP Blocker*](https://go.cpanel.net/whmdocsFeatureManager) feature, the system **disables** this function. For more information, read our [How to Use Server Profiles](https://go.cpanel.net/howtouseserverprofiles) documentation.",
        "operationId": "Email-count_filters",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "count_filters",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The number of email filters.\n* `0`\n* A positive integer.",
                          "example": 1,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's email filters total",
        "tags": [
          "Email",
          "Email Filtering"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  count_filters\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/count_filters"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_count_filters.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_count_filters.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/count_filters/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_count_filters.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_count_filters.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'count_filters'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/Email/count_forwarders": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the number of [forwarders](https://go.cpanel.net/Forwarders) for every email address on a cPanel account.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "Email-count_forwarders",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "count_forwarders",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The number of email forwarders.\n* `0`\n* A positive integer.",
                          "example": 1,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's mail forwarder total",
        "tags": [
          "Email",
          "Email Forwarding"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  count_forwarders\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/count_forwarders"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_count_forwarders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_count_forwarders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/count_forwarders/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_count_forwarders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_count_forwarders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'count_forwarders'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/Email/count_lists": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the number of [mailing lists](https://go.cpanel.net/MailingLists) for every email address on a cPanel account.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "Email-count_lists",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "count_lists",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The number of mailing lists.\n* `0`\n* A positive integer.",
                          "example": 1,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's mailing list total",
        "tags": [
          "Email",
          "Mailing Lists"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  count_lists\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/count_lists"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_count_lists.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_count_lists.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/count_lists/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_count_lists.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_count_lists.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'count_lists'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/Email/count_pops": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the number of [email accounts](https://go.cpanel.net/cpaneldocsEmailAccounts) for a cPanel account.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "Email-count_pops",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "count_pops",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The number of email accounts.\n* `0`\n* A positive integer.",
                          "example": 1,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's email account total",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  count_pops\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/count_pops"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_count_pops.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_count_pops.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/count_pops/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_count_pops.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_count_pops.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'count_pops'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/Email/delete_auto_responder": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes an autoresponder.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "Email-delete_auto_responder",
        "parameters": [
          {
            "description": "The email account.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_auto_responder",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete email account's autoresponder",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  delete_auto_responder \\\n  email='user@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/delete_auto_responder?email=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_auto_responder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_auto_responder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_auto_responder/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_auto_responder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_auto_responder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_auto_responder',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/delete_domain_forwarder": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes a domain-level forwarder.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-delete_domain_forwarder",
        "parameters": [
          {
            "description": "The domain name.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_domain_forwarder",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete domain-level forwarder",
        "tags": [
          "Email",
          "Email Forwarding"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  delete_domain_forwarder \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/delete_domain_forwarder?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_domain_forwarder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_domain_forwarder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_domain_forwarder/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_domain_forwarder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_domain_forwarder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_domain_forwarder',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/delete_filter": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes an email filter.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-delete_filter",
        "parameters": [
          {
            "description": "The email address that owns the filter.",
            "in": "query",
            "name": "account",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The filter's name.",
            "in": "query",
            "name": "filtername",
            "required": true,
            "schema": {
              "example": "coffee",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_filter",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete email account's email filter",
        "tags": [
          "Email",
          "Email Filtering"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  delete_filter \\\n  account='user@example.com' \\\n  filtername='coffee'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/delete_filter?account=user%40example.com&filtername=coffee"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_filter/,\n    {\n        'account' => 'user@example.com',\n        'filtername' => 'coffee',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_filter',\n    array (\n        'account' => 'user@example.com',\n        'filtername' => 'coffee',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/delete_forwarder": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes an email forwarder.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-delete_forwarder",
        "parameters": [
          {
            "description": "The forwarder's email address.",
            "in": "query",
            "name": "address",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The forwarder's destination.\n* A valid email address.\n* A script location.\n* A system account.",
            "in": "query",
            "name": "forwarder",
            "required": true,
            "schema": {
              "example": "fwdtome@example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_forwarder",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete email account's email forwarder",
        "tags": [
          "Email",
          "Email Forwarding"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  delete_forwarder \\\n  address='user@example.com' \\\n  forwarder='fwdtome@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/delete_forwarder?address=user%40example.com&forwarder=fwdtome%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_forwarder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_forwarder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_forwarder/,\n    {\n        'address' => 'user@example.com',\n        'forwarder' => 'fwdtome@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_forwarder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_forwarder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_forwarder',\n    array (\n        'address' => 'user@example.com',\n        'forwarder' => 'fwdtome@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/delete_held_messages": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes all outbound email messages held in the mail queue for the specified email account.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-delete_held_messages",
        "parameters": [
          {
            "description": "The email address to query.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_held_messages",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The number of held outbound email messages deleted from the mail queue.\n\n**Note:**\n\n  This function returns a `0` value when no messages exist in the queue.",
                          "example": 0,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete email account's outgoing messages",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  delete_held_messages \\\n  email='username@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/delete_held_messages?email=username%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_held_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_held_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_held_messages/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_held_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_held_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_held_messages',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 74"
      }
    },
    "/Email/delete_list": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes a Mailman mailing list.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-delete_list",
        "parameters": [
          {
            "description": "The mailing list.",
            "in": "query",
            "name": "list",
            "required": true,
            "schema": {
              "example": "mylist",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_list",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete mailing list",
        "tags": [
          "Email",
          "Mailing Lists"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  delete_list \\\n  list='mylist'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/delete_list?list=mylist"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_list/,\n    {\n        'list' => 'mylist',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_list',\n    array (\n        'list' => 'mylist',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/delete_mx": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes a Mail Exchanger (MX) record. For more information about MX record settings, read our [Email Routing Configuration](https://go.cpanel.net/whmdocsEmailRoutingConfiguration) documentation.\n\n**Important:**\n\n  When you disable the [DNS role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-delete_mx",
        "parameters": [
          {
            "description": "The mail exchanger's domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The mail exchanger's name.",
            "in": "query",
            "name": "exchanger",
            "required": true,
            "schema": {
              "example": "mail.example.com",
              "type": "string"
            }
          },
          {
            "description": "The mail exchanger's [priority value](https://go.cpanel.net/whmdocsEditMXEntry). If multiple MX entries match the exchanger value, the system uses this parameter to find the correct entry.",
            "in": "query",
            "name": "priority",
            "required": true,
            "schema": {
              "example": 15,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_mx",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "checkmx": {
                              "description": "An object containing the mail exchanger's data.",
                              "properties": {
                                "changed": {
                                  "description": "Whether a change occurred during the function.\n* `1` - Change occurred.\n* `0` - **No** change.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 1,
                                  "type": "integer"
                                },
                                "detected": {
                                  "description": "The mail exchanger type.\n* `auto`\n* `local`\n* `secondary`\n* `remote`",
                                  "enum": [
                                    "auto",
                                    "local",
                                    "secondary",
                                    "remote"
                                  ],
                                  "example": "auto",
                                  "type": "string"
                                },
                                "isprimary": {
                                  "description": "Whether the mail exchanger is the primary mail exchanger.\n* `1` - Primary.\n* `0` - **Not** primary.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "issecondary": {
                                  "description": "Whether the mail exchanger is a secondary exchanger.\n* `1` - Secondary.\n* `0` - **Not** secondary.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "local": {
                                  "description": "Whether the mail exchanger is a local exchanger.\n* `1` - Local.\n* `0` - **Not** local.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "mxcheck": {
                                  "description": "The mail exchanger type.\n* `auto`\n* `local`\n* `secondary`\n* `remote`",
                                  "enum": [
                                    "auto",
                                    "local",
                                    "secondary",
                                    "remote"
                                  ],
                                  "example": "auto",
                                  "type": "string"
                                },
                                "remote": {
                                  "description": "Whether the mail exchanger is a remote exchanger.\n* `1` - Remote.\n* `0` - **Not** remote.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "secondary": {
                                  "description": "Whether the mail exchanger is a secondary exchanger.\n* `1` - Secondary.\n* `0` - **Not** secondary.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "warnings": {
                                  "description": "Warning messages, if any exist.",
                                  "example": "Auto Detect of MX configuration not possible due to non-resolving MX entries. Defaulting to last known setting: local.",
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "results": {
                              "description": "A message of success, or an error message.\n* A message of success that begins with `Removed entry:`.\n* An error message.",
                              "example": "Removed entry: example.com. IN MX 15 mail.example.com\nBind reloading on example using rndc zone: [example.com]",
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether the function succeeded.\n* `1` - Success.\n* `0` - Failure.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "statusmsg": {
                              "description": "A message of success, or an error message.\n* A message of success that begins with Added entry.\n* An error message.",
                              "example": "Removed entry: example.com. IN MX 15 mail.example.com\nBind reloading on example using rndc zone: [example.com]",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete mail exchanger record",
        "tags": [
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  delete_mx \\\n  domain='example.com' \\\n  exchanger='mail.example.com' \\\n  priority='15'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/delete_mx?domain=example.com&exchanger=mail.example.com&priority=15"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_mx.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_mx.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_mx/,\n    {\n        'domain' => 'example.com',\n        'exchanger' => 'mail.example.com',\n        'priority' => '15',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_mx.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_mx.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_mx',\n    array (\n        'domain' => 'example.com',\n        'exchanger' => 'mail.example.com',\n        'priority' => '15',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/delete_pop": {
      "get": {
        "x-readonly": false,
        "x-rollback": "lossy",
        "description": "This function deletes an email address.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-delete_pop",
        "parameters": [
          {
            "description": "The email account username or address.\n* A valid email account username. For example, `user` if the email address is `user@example.com`.\n* A valid email address.",
            "example": "user@domain.com",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "anyOf": [
                {
                  "example": "user@domain.com",
                  "format": "email",
                  "type": "string"
                },
                {
                  "example": "user",
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The email account's domain. For example, `example.com` if the email address is `user@example.com`.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "default": "The cPanel account's main domain.",
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "Whether to remove the mail account's home mail directory. If you do not specify a value, the function removes the mail account's home directory.\n* `passwd` — Preserve the mail account's home directory.\n* Any other value — Remove the mail account's home directory.",
            "in": "query",
            "name": "flags",
            "required": false,
            "schema": {
              "example": "passwd",
              "type": "string"
            }
          },
          {
            "description": "Whether to modify the mail account's quota file.\n* `1` — Do **not** modify.\n* `0` — Modify.",
            "in": "query",
            "name": "skip_quota",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_pop",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete email account",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  delete_pop \\\n  email='user@domain.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/delete_pop?email=user%40domain.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_delete_pop.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_delete_pop.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/delete_pop/,\n    {\n        'email' => 'user@domain.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_delete_pop.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_delete_pop.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'delete_pop',\n    array (\n        'email' => 'user@domain.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/disable_filter": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function disables an email filter.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-disable_filter",
        "parameters": [
          {
            "description": "The email address that owns the filter.",
            "in": "query",
            "name": "account",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The filter's name.",
            "in": "query",
            "name": "filtername",
            "required": true,
            "schema": {
              "example": "coffee",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disable_filter",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "filtername": {
                              "description": "The filter's name. The filtername input parameter's value.",
                              "example": "coffee",
                              "type": "string"
                            },
                            "updated": {
                              "description": "Whether the function updated the filter.\n* `1` - Updated,\n* `0` - Did **not** update.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable email filter for email account",
        "tags": [
          "Email",
          "Email Filtering"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  disable_filter \\\n  account='user@example.com' \\\n  filtername='coffee'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/disable_filter?account=user%40example.com&filtername=coffee"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_disable_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_disable_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/disable_filter/,\n    {\n        'account' => 'user@example.com',\n        'filtername' => 'coffee',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_disable_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_disable_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'disable_filter',\n    array (\n        'account' => 'user@example.com',\n        'filtername' => 'coffee',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/disable_mailbox_autocreate": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function disables the system's ability to automatically create mailboxes for a cPanel account.\n\n**Note:**\n\n  When you **enable** the UAPI's `Email::enable_mailbox_autocreate` function, the system automatically creates mailboxes. The system creates a new mailbox when it receives an email address in [plus address format](https://en.wikipedia.org/wiki/Email_address#Sub-addressing) and that mailbox does **not** exist. For example, receiving an email from the `user+newmailbox@example.com` address creates the `newmailbox` mailbox if the `newmailbox` mailbox does not exist.",
        "operationId": "Email-disable_mailbox_autocreate",
        "parameters": [
          {
            "description": "The email account address for which to disable mailbox autocreation.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disable_mailbox_autocreate",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether the function disabled mailbox autocreation for the cPanel account.\n* `1` - Mailbox autocreation disabled.\n* `0` - Mailbox autocreation is **not** disabled.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable cPanel account mailbox autocreation",
        "tags": [
          "Email",
          "Email Server Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  disable_mailbox_autocreate \\\n  email='username@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/disable_mailbox_autocreate?email=username%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_disable_mailbox_autocreate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_disable_mailbox_autocreate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/disable_mailbox_autocreate/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_disable_mailbox_autocreate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_disable_mailbox_autocreate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'disable_mailbox_autocreate',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/Email/disable_spam_assassin": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function disables Apache SpamAssassin™ for a cPanel account.\n\n**Important:**\n\n  When you disable the [*Spam Filter* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-disable_spam_assassin",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disable_spam_assassin",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": [
                            "Apache SpamAssassin™ has been disabled."
                          ],
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable Apache SpamAssassin for cPanel account",
        "tags": [
          "Email",
          "Spam Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  disable_spam_assassin\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/disable_spam_assassin"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_disable_spam_assassin.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_disable_spam_assassin.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/disable_spam_assassin/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_disable_spam_assassin.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_disable_spam_assassin.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'disable_spam_assassin'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/disable_spam_autodelete": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function disables the Apache SpamAssassin™ auto-delete spam feature.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-disable_spam_autodelete",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disable_spam_autodelete",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "spam_auto_delete": {
                              "description": "Whether the auto-delete spam feature is disabled. `0` is the **only** possible value.",
                              "enum": [
                                0
                              ],
                              "example": 0,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable spam box filtering auto-delete",
        "tags": [
          "Email",
          "Spam Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  disable_spam_autodelete\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/disable_spam_autodelete"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_disable_spam_autodelete.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_disable_spam_autodelete.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/disable_spam_autodelete/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_disable_spam_autodelete.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_disable_spam_autodelete.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'disable_spam_autodelete'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/disable_spam_box": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function disables spam box filtering for a cPanel account. When you disable spam box filtering, the system sends all messages to the account's inbox.\n\n**Notes:**\n\n  * This function **requires** that your hosting provider enables Apache SpamAssassin™ on the server.\n  * To **enable** spam box filtering, use the UAPI `Email::enable_spam_box` function.\n  * For more information, read our [Spam Filters](https://go.cpanel.net/cpaneldocsSpamFilters) documentation.\n\n**Important:**\n\n  When you disable the [*Spam Filter* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-disable_spam_box",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disable_spam_box",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable spam box filtering for cPanel account",
        "tags": [
          "Email",
          "Spam Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  disable_spam_box\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/disable_spam_box"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_disable_spam_box.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_disable_spam_box.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/disable_spam_box/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_disable_spam_box.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_disable_spam_box.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'disable_spam_box'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 70"
      }
    },
    "/Email/dispatch_client_settings": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sends an email account's client settings to an email address.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-dispatch_client_settings",
        "parameters": [
          {
            "description": "The email account username or address for which to send client settings.",
            "example": "username",
            "in": "query",
            "name": "account",
            "required": true,
            "schema": {
              "oneOf": [
                {
                  "example": "username",
                  "format": "username",
                  "type": "string"
                },
                {
                  "example": "username@example.com",
                  "format": "email",
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The email address to send client settings.",
            "in": "query",
            "name": "to",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "dispatch_client_settings",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Send email client settings to an email address",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  dispatch_client_settings \\\n  to='user@example.com' \\\n  account='username'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/dispatch_client_settings?to=user%40example.com&account=username"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_dispatch_client_settings.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_dispatch_client_settings.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/dispatch_client_settings/,\n    {\n        'to' => 'user@example.com',\n        'account' => 'username',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_dispatch_client_settings.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_dispatch_client_settings.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'dispatch_client_settings',\n    array (\n        'to' => 'user@example.com',\n        'account' => 'username',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 62"
      }
    },
    "/Email/edit_pop_quota": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function changes an email address's quota.",
        "operationId": "Email-edit_pop_quota",
        "parameters": [
          {
            "description": "The email account's domain. Defaults to the cPanel account's main domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The email account username.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user",
              "type": "string"
            }
          },
          {
            "description": "The maximum amount of disk space that the new email account may use. Defaults to the system value.\n* A positive integer that represents the maximum amount of disk space, in megabytes (MB).\n\n**Note:**\n\nYou **cannot** enter a value that exceeds the maximum email quota.\n* `0` or `unlimited` — The account possesses unlimited disk space.\n\nIf the email account's quota value is set higher (or unlimited) than\nthe account's max quota, the account's max quota will be applied instead\nof the value entered.\n\n**Note:**\n\nThis value is only available to users without a maximum email account quota.",
            "in": "query",
            "name": "quota",
            "required": false,
            "schema": {
              "example": "500",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "edit_pop_quota",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update email account's quota",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  edit_pop_quota \\\n  email='user' \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/edit_pop_quota?email=user&domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_edit_pop_quota.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_edit_pop_quota.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/edit_pop_quota/,\n    {\n        'email' => 'user',\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_edit_pop_quota.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_edit_pop_quota.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'edit_pop_quota',\n    array (\n        'email' => 'user',\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/enable_filter": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables an email filter.\n\n**Important:**\n\n  When you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-enable_filter",
        "parameters": [
          {
            "description": "The email address that owns the filter.",
            "in": "query",
            "name": "account",
            "required": true,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The filter's name.",
            "in": "query",
            "name": "filtername",
            "required": true,
            "schema": {
              "example": "coffee",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "enable_filter",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "filtername": {
                              "description": "The filter's name.",
                              "example": "coffee",
                              "type": "string"
                            },
                            "updated": {
                              "description": "Whether the function updated the filter.\n* `1` - Updated.\n* `0` - Did **not** update.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable email filter for email account",
        "tags": [
          "Email",
          "Email Filtering"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  enable_filter \\\n  account='username@example.com' \\\n  filtername='coffee'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/enable_filter?account=username%40example.com&filtername=coffee"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_enable_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_enable_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/enable_filter/,\n    {\n        'account' => 'username@example.com',\n        'filtername' => 'coffee',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_enable_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_enable_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'enable_filter',\n    array (\n        'account' => 'username@example.com',\n        'filtername' => 'coffee',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/enable_mailbox_autocreate": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function allows the system to automatically create mailboxes for a cPanel account. The system will create a new mailbox when it receives an email address in plus address format and that mailbox does not exist. For example, receiving an email from the user+newmailbox@example.com address creates the newmailbox mailbox if the newmailbox mailbox does not exist.\n\n**Note:**\n\n  To disable this functionality, use the UAPI Email::disable_mailbox_autocreate function.",
        "operationId": "Email-enable_mailbox_autocreate",
        "parameters": [
          {
            "description": "The email account for which to enable mailbox autocreation.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "username@example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "enable_mailbox_autocreate",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether the function enabled mailbox autocreation for the cPanel account.\n- 1  Mailbox autocreation enabled.\n- 0  Mailbox autocreation is not enabled.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable cPanel account mailbox autocreation",
        "tags": [
          "Email",
          "Email Server Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  enable_mailbox_autocreate \\\n  email='username@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/enable_mailbox_autocreate?email=username%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_enable_mailbox_autocreate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_enable_mailbox_autocreate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/enable_mailbox_autocreate/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_enable_mailbox_autocreate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_enable_mailbox_autocreate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'enable_mailbox_autocreate',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/Email/enable_spam_assassin": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables Apache SpamAssassin™ for the account.\n\n**Important:**\n\nWhen you disable the [Spam Filter role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-enable_spam_assassin",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "enable_spam_assassin",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable Apache SpamAssassin for cPanel account",
        "tags": [
          "Email",
          "Spam Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  enable_spam_assassin\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/enable_spam_assassin"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_enable_spam_assassin.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_enable_spam_assassin.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/enable_spam_assassin/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_enable_spam_assassin.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_enable_spam_assassin.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'enable_spam_assassin'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/enable_spam_box": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables spam box filtering for a cPanel account. When you enable spam box filtering, the system sends messages marked as spam to a spam folder.\n\n**Notes:**\n\n* This function **requires** that your hosting provider enables Apache SpamAssassin on the server.\n* To **disable** spam box filtering, use the UAPI `Email::disable_spam_box` function.\n* For more information, read our [Spam Filters](https://go.cpanel.net/cpaneldocsSpamFilters) documentation.\n\n**Important:**\n\nWhen you disable the [Spam Filter](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Email-enable_spam_box",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "enable_spam_box",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable spam box filtering for cPanel account",
        "tags": [
          "Email",
          "Spam Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  enable_spam_box\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/enable_spam_box"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_enable_spam_box.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_enable_spam_box.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/enable_spam_box/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_enable_spam_box.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_enable_spam_box.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'enable_spam_box'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 70"
      }
    },
    "/Email/export_lists": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function exports a cPanel account's Mailman mailing lists into a CSV file.\nThis file is located in mail/exported_lists under the user's home directory.",
        "operationId": "Email-export_lists",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "export_lists",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Export cPanel account's Mailman mailing lists to a file",
        "tags": [
          "Email",
          "Mailing Lists"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  export_lists\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/export_lists"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_export_lists.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_export_lists.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/export_lists/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_export_lists.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_export_lists.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'export_lists'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.114"
      }
    },
    "/Email/fetch_charmaps": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the available character encodings.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-fetch_charmaps",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fetch_charmaps",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "map": {
                                "description": "A [character encoding](https://en.wikipedia.org/wiki/Character_encoding) that cPanel supports.",
                                "example": "utf-8",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return server's supported character encodings",
        "tags": [
          "Email",
          "Email Server Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  fetch_charmaps\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/fetch_charmaps"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_fetch_charmaps.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_fetch_charmaps.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/fetch_charmaps/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_fetch_charmaps.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_fetch_charmaps.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'fetch_charmaps'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/fts_rescan_mailbox": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function requests that the IMAP Full-Text Search Indexing (powered by Apache Solr™) plugin rescan an email account.\n\n**Note:**\n\nTo enable this function, you **must** install the *IMAP Full-Text Search Indexing (powered by Apache Solr™)* plugin in WHM's [*Manage Plugins*](https://go.cpanel.net/whmdocsManagePlugins) interface (*WHM >> Home >> cPanel >> Manage Plugins*). For more information, read our [install_dovecot_fts script](https://go.cpanel.net/installdovecotftsscript) documentation.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system disables this function.",
        "operationId": "Email-fts_rescan_mailbox",
        "parameters": [
          {
            "description": "The email user's account name.\n\n**Note:**\n\nIf you do not enter an email address, the function rescans the default email account.",
            "in": "query",
            "name": "account",
            "required": true,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fts_rescan_mailbox",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether the system started the rescan.\n* `1` - Success.\n* `0` - Failure.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Start IMAP Full-Text Search scan for email account",
        "tags": [
          "Email",
          "Email Server Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  fts_rescan_mailbox \\\n  account='username@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/fts_rescan_mailbox?account=username%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_fts_rescan_mailbox.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_fts_rescan_mailbox.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/fts_rescan_mailbox/,\n    {\n        'account' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_fts_rescan_mailbox.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_fts_rescan_mailbox.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'fts_rescan_mailbox',\n    array (\n        'account' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 70"
      }
    },
    "/Email/generate_mailman_otp": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function generates a one-time password (OTP) for a mailing list.\n\n**Note:**\n\nThe generated password expires after one use.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-generate_mailman_otp",
        "parameters": [
          {
            "description": "The mailing list.",
            "in": "query",
            "name": "list",
            "required": true,
            "schema": {
              "example": "mylist",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "generate_mailman_otp",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The new one-time password.",
                          "example": "LfFYLPRT_UoS4EDi9lGKuOFK8FaWQsozzPYn8WjM3",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create one-time password for a mailing list",
        "tags": [
          "Email",
          "Mailing Lists"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  generate_mailman_otp \\\n  list='mylist'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/generate_mailman_otp?list=mylist"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_generate_mailman_otp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_generate_mailman_otp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/generate_mailman_otp/,\n    {\n        'list' => 'mylist',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_generate_mailman_otp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_generate_mailman_otp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'generate_mailman_otp',\n    array (\n        'list' => 'mylist',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/get_auto_responder": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves autoresponder information.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-get_auto_responder",
        "parameters": [
          {
            "description": "The email account name.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user",
              "format": "username",
              "type": "string"
            }
          },
          {
            "description": "The autoresponder's [character set](https://en.wikipedia.org/wiki/Character_encoding).",
            "in": "query",
            "name": "temp_charset",
            "required": false,
            "schema": {
              "default": "utf-8",
              "example": "utf-8",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_auto_responder",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "body": {
                              "description": "The contents of the autoresponder message's `Body` section.",
                              "example": "This is an autoresponder message.",
                              "type": "string"
                            },
                            "charset": {
                              "description": "The autoresponder's [character set](https://en.wikipedia.org/wiki/Character_encoding).",
                              "example": "UTF-8",
                              "type": "string"
                            },
                            "from": {
                              "description": "The contents of the autoresponder message's `From` field.",
                              "example": "User Name",
                              "type": "string"
                            },
                            "interval": {
                              "description": "The amount of time, in hours, that the server waits between autoresponder messages to the same address.\n\n**Note:**\n\nA value of `0` indicates that the system sends a message for each email received.",
                              "example": 24,
                              "minimum": 0,
                              "type": "integer"
                            },
                            "is_html": {
                              "description": "Whether the body of the autoresponder message begins with an [HTML content type declaration](https://en.wikipedia.org/wiki/Character_encodings_in_HTML#Specifying_the_document.27s_character_encoding).\n- `1` - Includes an HTML content type declaration.\n- `0` - Does **not** include an HTML content type declaration.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "start": {
                              "description": "When the autoresponder becomes enabled in Unix time.",
                              "example": 1410277881,
                              "format": "unix_timestamp",
                              "type": "integer"
                            },
                            "stop": {
                              "description": "When the autoresponder becomes disabled in Unix time.",
                              "example": 1410300000,
                              "format": "unix_timestamp",
                              "type": "integer"
                            },
                            "subject": {
                              "description": "The contents of the autoresponder message's `Subject` field.",
                              "example": "Autoresponder Subject",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account's autoresponder information",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_auto_responder \\\n  email='user'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_auto_responder?email=user"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_auto_responder.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_auto_responder.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_auto_responder/,\n    {\n        'email' => 'user',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_auto_responder.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_auto_responder.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_auto_responder',\n    array (\n        'email' => 'user',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/get_charsets": {
      "get": {
        "x-readonly": true,
        "description": "This function lists character encodings that the mail server supports.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-get_charsets",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_charsets",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of [character encodings](https://en.wikipedia.org/wiki/Character_encoding) that the mail server supports.",
                          "items": {
                            "example": "utf-8",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return mail server's supported character encodings",
        "tags": [
          "Email",
          "Email Server Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_charsets\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_charsets"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_charsets.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_charsets.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_charsets/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_charsets.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_charsets.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_charsets'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/get_client_settings": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves an email account's client settings.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-get_client_settings",
        "parameters": [
          {
            "description": "The email address for which to send client settings.\n\n**Note:**\n\nThis parameter defaults to the [system default email account](https://go.cpanel.net/systemdefaultemailaccount). ",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_client_settings",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "account": {
                              "description": "The account's email address.",
                              "example": "username@example.com",
                              "format": "email",
                              "type": "string"
                            },
                            "activesync_available": {
                              "description": "Whether the account supports ActiveSync.\n* `1` — Supported.\n* `0` — **Not** supported.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "activesync_host": {
                              "description": "The account's ActiveSync hostname.\n\nThis return **only** appears if `activesync_available` is `1`.",
                              "example": "mail.example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "activesync_port": {
                              "description": "The account's ActiveSync SSL/TLS port.\n\nThis return **only** appears if `activesync_available` is `1`.",
                              "example": 2091,
                              "maximum": 65535,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "activesync_username": {
                              "description": "The account's ActiveSync username.\n\nThis return **only** appears if `activesync_available` is `1`.",
                              "example": "username@example.com",
                              "format": "email",
                              "type": "string"
                            },
                            "display": {
                              "description": "The account's display name.",
                              "example": "username@example.com",
                              "format": "email",
                              "type": "string"
                            },
                            "domain": {
                              "description": "The account's domain name.",
                              "example": "domain.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "from_archiving": {
                              "description": "Whether the account is a mail archive.\n* `1` — The account is a mail archive.\n* `0` — The account is **not** a mail archive.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 0,
                              "type": "integer"
                            },
                            "has_plaintext_authentication": {
                              "description": "Whether the account supports plaintext authentication.\n\n* `1` — Supported.\n* `0` — **Not** supported.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "inbox_host": {
                              "description": "The account's hostname.",
                              "example": "mail.example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "inbox_insecure_port": {
                              "description": "The account's insecure inbound port.",
                              "example": 143,
                              "maximum": 65535,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "inbox_port": {
                              "description": "The account's secure inbound port.",
                              "example": 993,
                              "maximum": 65535,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "inbox_service": {
                              "description": "The service type that the account uses.\n* `imap`\n* `pop`",
                              "enum": [
                                "imap",
                                "pop"
                              ],
                              "example": "imap",
                              "type": "string"
                            },
                            "inbox_username": {
                              "description": "The account's username.",
                              "example": "username@example.com",
                              "format": "email",
                              "type": "string"
                            },
                            "mail_domain": {
                              "description": "The account's mail hostname.",
                              "example": "mail.example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "smtp_host": {
                              "description": "The account's outbound SMTP hostname.",
                              "example": "mail.example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "smtp_insecure_port": {
                              "description": "The account's insecure outbound SMTP port.",
                              "example": 25,
                              "maximum": 65535,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "smtp_port": {
                              "description": "The account's secure outbound SMTP port.",
                              "example": 465,
                              "maximum": 65535,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "smtp_username": {
                              "description": "The account's SMTP username.",
                              "example": "username@example.com",
                              "format": "email",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account's client settings",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_client_settings\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_client_settings"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_client_settings.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_client_settings.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_client_settings/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_client_settings.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_client_settings.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_client_settings'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 62"
      }
    },
    "/Email/get_default_email_quota": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the account's default email quota size, in bytes format.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Email-get_default_email_quota",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_default_email_quota",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The default email quota in bytes.\n\nThe value will either be:\n* The system's default quota value (32 gigabytes).\n* The account's quota value, if it is less than the system's default value.",
                          "example": 34359738368,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account's default email quota",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_default_email_quota\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_default_email_quota"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_default_email_quota.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_default_email_quota.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_default_email_quota/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_default_email_quota.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_default_email_quota.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_default_email_quota'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.48"
      }
    },
    "/Email/get_default_email_quota_mib": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the account's default email quota size in [mebibytes](https://en.wikipedia.org/wiki/Mebibyte) (MiB).\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Email-get_default_email_quota_mib",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_default_email_quota_mib",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The default email quota in [mebibytes](https://en.wikipedia.org/wiki/Mebibyte) (MiB).\n\nThe value will either be:\n* The system's default quota value (32 gigabytes).\n* The account's quota value, if it is less than the system's default value.",
                          "example": 32768,
                          "maximum": 4294967296,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account's default email quota in MiB",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_default_email_quota_mib\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_default_email_quota_mib"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_default_email_quota_mib.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_default_email_quota_mib.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_default_email_quota_mib/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_default_email_quota_mib.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_default_email_quota_mib.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_default_email_quota_mib'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.48"
      }
    },
    "/Email/get_disk_usage": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the disk space that an email account uses.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-get_disk_usage",
        "parameters": [
          {
            "description": "The email account's domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The email account username.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "user",
              "format": "username",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_disk_usage",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "diskused": {
                              "description": "The disk space that the email account uses.\n* A positive floating-point value that represents the disk space, used in megabytes (MB).\n* `0` - The account posesses an unlimited disk quota.",
                              "example": 399.6,
                              "type": "number"
                            },
                            "domain": {
                              "description": "The email account's domain.",
                              "example": "example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "login": {
                              "description": "The email address or the main account username.",
                              "example": "user@example.com",
                              "format": "email",
                              "type": "string"
                            },
                            "user": {
                              "description": "The email account's username.",
                              "example": "user",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account's disk usage",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_disk_usage \\\n  user='user' \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_disk_usage?user=user&domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_disk_usage.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_disk_usage.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_disk_usage/,\n    {\n        'user' => 'user',\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_disk_usage.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_disk_usage.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_disk_usage',\n    array (\n        'user' => 'user',\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/get_filter": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves an email filter's information.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Email-get_filter",
        "parameters": [
          {
            "description": "The email address that owns the filter.",
            "in": "query",
            "name": "account",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The filter's name.",
            "in": "query",
            "name": "filtername",
            "required": true,
            "schema": {
              "example": "coffee",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_filter",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "actions": {
                              "description": "An array of objects that contains the filter's actions.",
                              "items": {
                                "properties": {
                                  "action": {
                                    "description": "The filter's action.\n* `deliver` -  The filter sends mail to the destination address.\n* `fail` -  The filter forces a delivery failure.\n* `finish` -  The filter stops message processing.\n* `save` -  The filter saves mail to the destination file.\n* `pipe` -  The filter sends mail to the destination application.",
                                    "enum": [
                                      "deliver",
                                      "fail",
                                      "finish",
                                      "save",
                                      "pipe"
                                    ],
                                    "type": "string"
                                  },
                                  "dest": {
                                    "description": "The destination to which the filter sends mail.\n\nA destination can be one of the following.\n* A file path.\n* An application path.\n* A valid email address.",
                                    "oneOf": [
                                      {
                                        "example": "/dev/null",
                                        "format": "path",
                                        "type": "string"
                                      },
                                      {
                                        "example": "example@test.com",
                                        "format": "email",
                                        "type": "string"
                                      }
                                    ]
                                  },
                                  "number": {
                                    "description": "The filter's position in the order of the account's filters.",
                                    "example": 1,
                                    "minimum": 1,
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "filtername": {
                              "description": "The filter's name.",
                              "example": "coffee",
                              "type": "string"
                            },
                            "metadata": {
                              "properties": {
                                "transformed": {
                                  "description": "Post-processing may have transformed the data.",
                                  "enum": [
                                    1
                                  ],
                                  "example": 1,
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            },
                            "rules": {
                              "description": "An array of objects that contains the filter's rules.",
                              "items": {
                                "properties": {
                                  "match": {
                                    "description": "The filter's match type.\n\n* `is`\n* `matches`\n* `contains`\n* `does not contain`\n* `begins`\n* `does not begin`\n* `ends`\n* `does not end`\n* `does not match`\n* `is above`\n* `is not above`\n* `is below`\n* `is not below`",
                                    "enum": [
                                      "is",
                                      "matches",
                                      "contains",
                                      "does not contain",
                                      "begins",
                                      "does not begin",
                                      "ends",
                                      "does not end",
                                      "does not match",
                                      "is above",
                                      "is not above",
                                      "is below",
                                      "is not below"
                                    ],
                                    "example": "contains",
                                    "type": "string"
                                  },
                                  "number": {
                                    "description": "The filter's position in the order of the account's filters.",
                                    "example": 1,
                                    "minimum": 1,
                                    "type": "integer"
                                  },
                                  "opt": {
                                    "description": "The connection between multiple conditions.\n* `and` -  Match both conditions.\n* `or` -  Match either condition.\n* `null` -  There is only one condition.",
                                    "enum": [
                                      "and",
                                      "or",
                                      "null"
                                    ],
                                    "example": "or",
                                    "type": "string"
                                  },
                                  "part": {
                                    "description": "The queried email section.\n* `$header_from:` -  Matches against the From: section.\n* `$header_subject:` -  Matches against the Subject: section.\n* `$header_to:` -  Matches against the To: section.\n* `$reply_address:` -  Matches against the Reply To: section.\n* `$message_body` -  Matches against the message's body.\n* `$message_headers` -  Matches against the message's headers.\n* `foranyaddress $h_to:,$h_cc:,$h_bcc:` -  Matches against all message recipients.\n* `not delivered` -  Matches if the message is not queued for delivery.\n* `error_message` -  Matches if the incoming message bounced.",
                                    "enum": [
                                      "$header_from:",
                                      "$header_subject:",
                                      "$header_to:",
                                      "$reply_address:",
                                      "$message_body",
                                      "$message_headers",
                                      "foranyaddress $h_to:,$h_cc:,$h_bcc:",
                                      "not delivered",
                                      "error_message"
                                    ],
                                    "example": "$message_body",
                                    "type": "string"
                                  },
                                  "val": {
                                    "description": "The matched value.",
                                    "example": "coconut",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email filter's information",
        "tags": [
          "Email",
          "Email Filtering"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_filter \\\n  account='user@example.com' \\\n  filtername='coffee'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_filter?account=user%40example.com&filtername=coffee"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_filter/,\n    {\n        'account' => 'user@example.com',\n        'filtername' => 'coffee',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_filter',\n    array (\n        'account' => 'user@example.com',\n        'filtername' => 'coffee',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/get_held_message_count": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the count of outbound email messages held in the mail queue for the specified email account.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-get_held_message_count",
        "parameters": [
          {
            "description": "The email address to query.",
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_held_message_count",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The number of messages currently held in the mail queue.",
                          "example": 0,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account's outgoing message count",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_held_message_count\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_held_message_count"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_held_message_count.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_held_message_count.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_held_message_count/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_held_message_count.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_held_message_count.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_held_message_count'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 74"
      }
    },
    "/Email/get_lists_total_disk_usage": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the total disk usage for the [mailing lists](https://go.cpanel.net/cpaneldocsMailingLists) of a cPanel account.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-get_lists_total_disk_usage",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_lists_total_disk_usage",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The total disk usage for the [mailing lists](https://go.cpanel.net/MailingLists) of a cPanel account, in bytes.",
                          "example": 1024,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's mailing list disk usage",
        "tags": [
          "Email",
          "Mailing Lists"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_lists_total_disk_usage\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_lists_total_disk_usage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_lists_total_disk_usage.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_lists_total_disk_usage.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_lists_total_disk_usage/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_lists_total_disk_usage.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_lists_total_disk_usage.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_lists_total_disk_usage'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/Email/get_mailbox_autocreate": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether a cPanel account will automatically create mailboxes when it receives an email address in [plus address format](https://en.wikipedia.org/wiki/Email_address#Sub-addressing).\n\n**Note:**\n\nTo enable or disable this functionality, use the UAPI's `Email::enable_mailbox_autocreate` and `Email::disable_mailbox_autocreate` functions.",
        "operationId": "Email-get_mailbox_autocreate",
        "parameters": [
          {
            "description": "The email account address to query.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_mailbox_autocreate",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether the cPanel account can automatically create mailboxes.\n* `1` — The cPanel account can automatically create mailboxes.\n* `0` — The cPanel account **cannot** automatically create mailboxes.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's mailbox autocreate status",
        "tags": [
          "Email",
          "Email Server Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_mailbox_autocreate \\\n  email='username@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_mailbox_autocreate?email=username%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_mailbox_autocreate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_mailbox_autocreate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_mailbox_autocreate/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_mailbox_autocreate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_mailbox_autocreate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_mailbox_autocreate',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/Email/get_mailman_delegates": {
      "get": {
        "x-readonly": true,
        "description": "This function lists a mailing list's administrators.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Email-get_mailman_delegates",
        "parameters": [
          {
            "description": "The name of a Mailman mailing list on the cPanel account.",
            "in": "query",
            "name": "list",
            "required": true,
            "schema": {
              "example": "mylist",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_mailman_delegates",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "delegates": {
                              "description": "An array of the mailing list's administrators.",
                              "items": {
                                "example": "secondadmin@example.com",
                                "format": "email",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "metadata": {
                              "properties": {
                                "transformed": {}
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return mailing list administrators",
        "tags": [
          "Email",
          "Mailing Lists"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_mailman_delegates \\\n  list='mylist'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_mailman_delegates?list=mylist"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_mailman_delegates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_mailman_delegates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_mailman_delegates/,\n    {\n        'list' => 'mylist',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_mailman_delegates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_mailman_delegates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_mailman_delegates',\n    array (\n        'list' => 'mylist',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/get_main_account_disk_usage": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the disk space that the main account uses.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-get_main_account_disk_usage",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_main_account_disk_usage",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The current amount of disk space that the main email account uses.",
                          "example": "3076 bytes",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return primary email account's disk usage",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_main_account_disk_usage\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_main_account_disk_usage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_main_account_disk_usage.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_main_account_disk_usage.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_main_account_disk_usage/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_main_account_disk_usage.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_main_account_disk_usage.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_main_account_disk_usage'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/get_main_account_disk_usage_bytes": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the disk space that the cPanel account uses.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Email-get_main_account_disk_usage_bytes",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_main_account_disk_usage_bytes",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The current amount of disk space that the main email account uses, in bytes.",
                          "example": 3076,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return primary email account's disk usage in bytes",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_main_account_disk_usage_bytes\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_main_account_disk_usage_bytes"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_main_account_disk_usage_bytes.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_main_account_disk_usage_bytes.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_main_account_disk_usage_bytes/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_main_account_disk_usage_bytes.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_main_account_disk_usage_bytes.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_main_account_disk_usage_bytes'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 64"
      }
    },
    "/Email/get_max_email_quota": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the account's maximum email quota size, in bytes format.\n\n**Important:**\n\n  When you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Email-get_max_email_quota",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_max_email_quota",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The account's maximum email quota, in bytes format. The function will\nreturn one of the following values:\n\n* The system's default maximum quota (4 [Pebibytes](https://en.wikipedia.org/wiki/Pebibyte)).\n* The account's quota value, if it is **less** than the default\nsystem quota value.",
                          "example": 4503599627370496,
                          "maximum": 4503599627370496,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account's max quota size",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_max_email_quota\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_max_email_quota"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_max_email_quota.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_max_email_quota.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_max_email_quota/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_max_email_quota.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_max_email_quota.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_max_email_quota'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.48"
      }
    },
    "/Email/get_max_email_quota_mib": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the account's maximum email account quota size, in\n[Mebibytes (MiB)](https://en.wikipedia.org/wiki/Mebibyte) format.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.",
        "operationId": "Email-get_max_email_quota_mib",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_max_email_quota_mib",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The account's maximum email account quota size, in Mebibytes (MiB).",
                          "example": 4294967296,
                          "maximum": 4294967296,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account's max quota size in MiB",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_max_email_quota_mib\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_max_email_quota_mib"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_max_email_quota_mib.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_max_email_quota_mib.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_max_email_quota_mib/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_max_email_quota_mib.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_max_email_quota_mib.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_max_email_quota_mib'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.48"
      }
    },
    "/Email/get_pop_quota": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves an email account's quota.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Email-get_pop_quota",
        "parameters": [
          {
            "description": "The email account username.  For example, user if the email address is user@example.com.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user",
              "type": "string"
            }
          },
          {
            "description": "Whether to return the quota as bytes.\n\n* `1` — Return the quota as bytes.\n* `0` — Return the quota as megabytes (MB).",
            "in": "query",
            "name": "as_bytes",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The email account's domain. This parameter defaults to the cPanel account's main domain.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_pop_quota",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The email account's quota.\n\n**Note:**\n\nThis value's unit of measure depends on the `as_bytes` input parameter's value.",
                          "example": 262144000,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account's quota",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_pop_quota \\\n  email='user'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_pop_quota?email=user"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_pop_quota.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_pop_quota.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_pop_quota/,\n    {\n        'email' => 'user',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_pop_quota.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_pop_quota.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_pop_quota',\n    array (\n        'email' => 'user',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/get_spam_settings": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the Apache SpamAssassin™ settings for the account.\n\n**Important:**\n\nWhen you disable the [SpamFilter role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-get_spam_settings",
        "parameters": [
          {
            "description": "Retrieve a specific user account's SpamAssassin settings.\n\n**Note:**\n\nIf you do **not** specify this parameter, the function returns the settings for [the default email account](https://go.cpanel.net/DefaultAddress).",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_spam_settings",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "cpuser_spam_auto_delete": {
                              "description": "The cPanel user's account-wide spam filter setting\n\n* `1` - Enabled.\n* `0` - Not enabled.\n\n**NOTE:**\n\nThis key **only** appears if the `account` parameter is passed **and** the account does **not** have a custom setting",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "nullable": true,
                              "type": "integer"
                            },
                            "cpuser_spam_auto_delete_score": {
                              "description": "The cPanel user's account-wide spam filter threshold score. For more information, see `Email::add_spam_filter`.\n\n**NOTE:**\n\nThis key **only** appears if the `account` parameter is passed **and** the account does **not** have a custom setting",
                              "example": 8,
                              "minimum": 0,
                              "nullable": true,
                              "type": "integer"
                            },
                            "rewrites_subjects": {
                              "description": "Whether the user's spam filter rewrites the subject lines of spam messages.\n\n* `1` -  Rewrite.\n* `0` -  No rewrites.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "spam_as_acl": {
                              "description": "Whether the user's spam filter uses Apache SpamAssassin as an ACL.\n\n**NOTE:**\n\nThe value of this parameter is **always** `1`\n* `1` -  SpamAssassin is an ACL.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "spam_auto_delete": {
                              "description": "Whether the user's autodelete function is enabled.\n\n* `1` -  Enabled.\n* `0` -  Not enabled.\n\n**NOTE::**\n\nThis key does **not** appear if the `cpuser_spam_auto_delete` key appears",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 0,
                              "nullable": true,
                              "type": "integer"
                            },
                            "spam_auto_delete_score": {
                              "description": "Displays the user's spam filter threshold.  For more information, see `Email::add_spam_filter`.\n\n**Note:**\n\nThis key does **not** appear if the `cpuser_spam_auto_delete_score` key appears",
                              "example": 8,
                              "minimum": 0,
                              "nullable": true,
                              "type": "integer"
                            },
                            "spam_box_enabled": {
                              "description": "Whether the user's spam box is enabled.\n\n* `1` -  Enabled.\n* `0` -  Not enabled.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 0,
                              "type": "integer"
                            },
                            "spam_enabled": {
                              "description": "Whether the server's global spam filtering is enabled.\n\n* `1` -  Enabled.\n* `0` -  Not enabled.\n\n**Note:**\n\n This value will **only** return `0` if the cPanel user disables Apache SpamAssassin.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "spam_status_changeable": {
                              "description": "Whether the server allows cPanel users to configure Apache SpamAssassin settings.\n\n* `1` -  Allowed.\n* `0` -  Not allowed.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account Apache SpamAssassin settings",
        "tags": [
          "Email",
          "Spam Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_spam_settings\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_spam_settings"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_spam_settings.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_spam_settings.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_spam_settings/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_spam_settings.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_spam_settings.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_spam_settings'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/get_webmail_settings": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves an email account's Webmail settings.\n\n**Important:**\n\nWhen you disable the [_Receive Mail_ role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-get_webmail_settings",
        "parameters": [
          {
            "description": "The email account.\n\n**Note:**\n\nIf you do **not** specify a value, the function retrieves settings for the cPanel account's default mail account.",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "oneOf": [
                {
                  "example": "user@example.com",
                  "format": "email",
                  "type": "string"
                },
                {
                  "example": "user",
                  "format": "username",
                  "type": "string"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_webmail_settings",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "domain": {
                              "description": "The email account's mail server hostname.",
                              "example": "mail.example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "has_maildir": {
                              "description": "Whether `Maildir` is enabled for the email account.\n\n* `1` — Enabled.\n\nIt is not possible to disable `Maildir`.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "user": {
                              "description": "The email account.",
                              "oneOf": [
                                {
                                  "example": "user@example.com",
                                  "format": "email",
                                  "type": "string"
                                },
                                {
                                  "example": "user",
                                  "format": "username",
                                  "type": "string"
                                }
                              ]
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account's Webmail settings",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  get_webmail_settings\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/get_webmail_settings"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_get_webmail_settings.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_get_webmail_settings.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/get_webmail_settings/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_get_webmail_settings.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_get_webmail_settings.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'get_webmail_settings'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/has_delegated_mailman_lists": {
      "get": {
        "x-readonly": true,
        "description": "This function checks an account's administrative privileges on mailing lists.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-has_delegated_mailman_lists",
        "parameters": [
          {
            "description": "The email address.",
            "in": "query",
            "name": "delegate",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "has_delegated_mailman_lists",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether the email address has administrative privileges on one or more mailing lists on the cPanel account.\n* `1` — The email address has administrative privileges.\n* `0` — The email address does **not** have administrative privileges.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email account's mailing list privileges",
        "tags": [
          "Email",
          "Mailing Lists"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  has_delegated_mailman_lists \\\n  delegate='user@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/has_delegated_mailman_lists?delegate=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_has_delegated_mailman_lists.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_has_delegated_mailman_lists.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/has_delegated_mailman_lists/,\n    {\n        'delegate' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_has_delegated_mailman_lists.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_has_delegated_mailman_lists.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'has_delegated_mailman_lists',\n    array (\n        'delegate' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/has_plaintext_authentication": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether plaintext authentication is enabled on the Dovecot mail server.\n\n**Important:**\n\n  When you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-has_plaintext_authentication",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "has_plaintext_authentication",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether plaintext authentication is enabled on the Dovecot mail server.\n* `1` - Enabled.\n* `0` - Disabled.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether plaintext authentication is enabled",
        "tags": [
          "Email",
          "Email Server Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  has_plaintext_authentication\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/has_plaintext_authentication"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_has_plaintext_authentication.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_has_plaintext_authentication.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/has_plaintext_authentication/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_has_plaintext_authentication.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_has_plaintext_authentication.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'has_plaintext_authentication'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/Email/hold_outgoing": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sets Exim's queue to not send outgoing mail from an email account.\n\n**Notes:**\n\n* To send all mail from the queue, use the UAPI `Email::release_outgoing` function.\n* To reject outgoing mail and not place mail in a queue, use the UAPI `Email::suspend_outgoing` function.\n* This function does **not** hold local outgoing mail.",
        "operationId": "Email-hold_outgoing",
        "parameters": [
          {
            "description": "The email account's username.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "hold_outgoing",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Stop email account's outgoing mail",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  hold_outgoing \\\n  email='username@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/hold_outgoing?email=username%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_hold_outgoing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_hold_outgoing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/hold_outgoing/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_hold_outgoing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_hold_outgoing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'hold_outgoing',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 70"
      }
    },
    "/Email/list_auto_responders": {
      "get": {
        "x-readonly": true,
        "description": "This function lists a domain's autoresponders.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-list_auto_responders",
        "parameters": [
          {
            "description": "The domain name.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "A [Perl Compatible Regular Expression (PCRE)](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) that filters the results.",
            "in": "query",
            "name": "regex",
            "required": false,
            "schema": {
              "example": "user",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_auto_responders",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "email": {
                                "description": "The autoresponder's email address.",
                                "example": "user@example.com",
                                "format": "email",
                                "type": "string"
                              },
                              "subject": {
                                "description": "The contents of the autoresponder message's `Subject:` field.",
                                "example": "Autoresponder Subject",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return domain's autoresponders",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_auto_responders \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/list_auto_responders?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_auto_responders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_auto_responders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_auto_responders/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_auto_responders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_auto_responders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_auto_responders',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/list_default_address": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves a domain's default address.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-list_default_address",
        "parameters": [
          {
            "description": "The user whose default addresses to list.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "user",
              "format": "username",
              "type": "string"
            }
          },
          {
            "description": "The domain. If you do not specify a value, the function lists default addresses for all of the cPanel account's domains.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_default_address",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object of data for a domain.",
                          "items": {
                            "properties": {
                              "defaultaddress": {
                                "description": "The domain's default address.\n* An email account username - The system forwards unroutable mail to this address.\n* `:fail:` - The system bounces unroutable mail back to the sender, and sends a failure message.\n* `:blackhole:` - The system deletes unroutable mail without a failure message.\n* The path to an application - The system pipes unroutable mail to this application.",
                                "example": "user",
                                "type": "string"
                              },
                              "domain": {
                                "description": "The domain name.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return domain's default email address",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_default_address \\\n  user='user'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/list_default_address?user=user"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_default_address.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_default_address.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_default_address/,\n    {\n        'user' => 'user',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_default_address.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_default_address.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_default_address',\n    array (\n        'user' => 'user',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/list_domain_forwarders": {
      "get": {
        "x-readonly": true,
        "description": "This function lists domain-level forwarders.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-list_domain_forwarders",
        "parameters": [
          {
            "description": "The domain name to query. If you do not use this parameter, the function returns all domain-level forwarders on the cPanel account.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_domain_forwarders",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing domain forwarder information.",
                          "items": {
                            "properties": {
                              "dest": {
                                "description": "The forwarded domain.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "forward": {
                                "description": "The destination domain.",
                                "example": "forwardtome.com",
                                "format": "domain",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return domain-level forwarders",
        "tags": [
          "Email",
          "Email Forwarding"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_domain_forwarders\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/list_domain_forwarders"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_domain_forwarders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_domain_forwarders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_domain_forwarders/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_domain_forwarders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_domain_forwarders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_domain_forwarders'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/list_filters": {
      "get": {
        "x-readonly": true,
        "description": "This function lists account-level mail filters. For more information about Exim filters, read [Exim’s documentation](http://www.exim.org/exim-html-3.30/doc/html/filter.html).\n\n**Important**:\n\n  When you disable the [Mail Receive role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-list_filters",
        "parameters": [
          {
            "description": "The email address or cPanel account username for which to return a list of filters. If you do not specify this value, the function lists all of the cPanel account’s account-level filters.",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "oneOf": [
                {
                  "example": "user@example.com",
                  "format": "email",
                  "type": "string"
                },
                {
                  "example": "username",
                  "format": "username",
                  "type": "string"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_filters",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "actions": {
                                "description": "An array of objects that descibe each of the filter’s actions.",
                                "items": {
                                  "properties": {
                                    "action": {
                                      "description": "The filter’s action.\n\nSome common ones include:\n\n* `deliver` — The filter sends mail to the dest address.\n* `fail` — The filter forces a delivery failure.\n* `finish` — The filter stops message processing.\n* `save` — The filter saves mail to the dest file.\n* `pipe` — The filter sends mail to the dest application.\n\nFor more information, read [Exim’s _Filter commands_ documentation](http://www.exim.org/exim-html-3.30/doc/html/filter_11.html).",
                                      "type": "string"
                                    },
                                    "dest": {
                                      "description": "The destination to which the filter sends mail.\n* A file path.\n* An application path.\n* A valid email address.",
                                      "example": "/dev/null",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "enabled": {
                                "description": "Whether the filter is enabled.",
                                "type": "integer"
                              },
                              "filtername": {
                                "description": "The filter’s name.",
                                "example": "coffee",
                                "type": "string"
                              },
                              "rules": {
                                "description": "An array of objects that descibe each of the filter’s rules.",
                                "items": {
                                  "properties": {
                                    "match": {
                                      "description": "The filter’s match type.",
                                      "enum": [
                                        "is",
                                        "matches",
                                        "contains",
                                        "does not contain",
                                        "begins",
                                        "does not begin",
                                        "ends",
                                        "does not end",
                                        "does not match",
                                        "is above",
                                        "is not above",
                                        "is below",
                                        "is not below"
                                      ],
                                      "example": "contains",
                                      "type": "string"
                                    },
                                    "opt": {
                                      "description": "The connection between multiple conditions.\n  * `and` — Match both conditions.\n  * `or` — Match either condition.\n  * `null` — Only one condition exists.",
                                      "enum": [
                                        "and",
                                        "or",
                                        "null"
                                      ],
                                      "example": "or",
                                      "type": "string"
                                    },
                                    "part": {
                                      "description": "The queried email section.\n\nSome common ones include:\n\n* `$header_from:` — Matches against the `From:` section.\n* `$header_subject:` — Matches against the `Subject:` section.\n* `$header_to:` — Matches against the `To:` section.\n* `$reply_address:` — Matches against the `Reply To:` section.\n* `$message_body` — Matches against the message’s body.\n* `$message_headers` — Matches against the message’s headers.\n* `foranyaddress $h_to:,$h_cc:,$h_bcc:` —  Matches against all message recipients.\n* `not delivered` — Matches if the system has not queued the message for delivery.\n* `error_message` — Matches if the incoming message bounced.\n\nFor more options, read [Exim’s documentation](https://exim.org/exim-html-3.30/doc/html/filter.html).",
                                      "example": "$message_body",
                                      "type": "string"
                                    },
                                    "val": {
                                      "description": "The matched value. A string value.",
                                      "example": "coconut",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "unescaped": {
                                "deprecated": true,
                                "type": "boolean"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return account-level email filters",
        "tags": [
          "Email",
          "Email Filtering"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_filters\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/list_filters"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_filters.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_filters.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_filters/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_filters.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_filters.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_filters'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/list_filters_backups": {
      "get": {
        "x-readonly": true,
        "description": "This function lists all of the cPanel account's domains that use domain-level filters.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-list_filters_backups",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_filters_backups",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that contains information about domains with domain-level filters.",
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "A domain with a domain-level filter.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return domains with domain-level email filters",
        "tags": [
          "Email",
          "Email Filtering"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_filters_backups\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/list_filters_backups"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_filters_backups.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_filters_backups.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_filters_backups/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_filters_backups.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_filters_backups.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_filters_backups'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/list_forwarders": {
      "get": {
        "x-readonly": true,
        "description": "This function lists a domain's forwarders.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-list_forwarders",
        "parameters": [
          {
            "description": "The domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "A [Perl Compatible Regular Expression (PCRE)](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) that filters the forwarded address or destination. If you do **not** use this parameter, the function returns all of the account's forwarders.",
            "in": "query",
            "name": "regex",
            "required": false,
            "schema": {
              "example": "user",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_forwarders",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "dest": {
                                "description": "The forwarded address.",
                                "example": "forwarded@example.com",
                                "format": "email",
                                "type": "string"
                              },
                              "forward": {
                                "description": "The forwarded mail's destination.",
                                "example": "user@example.com",
                                "format": "email",
                                "type": "string"
                              },
                              "html_dest": {
                                "description": "The forwarded address in an HTML-compatible format.",
                                "example": "forwarded@example.com",
                                "format": "email",
                                "type": "string"
                              },
                              "html_forward": {
                                "description": "The forwarded mail's destination in an HTML-compatible format.",
                                "example": "user@example.com",
                                "format": "email",
                                "type": "string"
                              },
                              "uri_dest": {
                                "description": "The forwarded address in a URI-encoded format.",
                                "example": "forwarded%40example.com",
                                "type": "string"
                              },
                              "uri_forward": {
                                "description": "The forwarded mail's destination in a URI-encoded format.",
                                "example": "user%40example.com",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return domain's forwarders",
        "tags": [
          "Email",
          "Email Forwarding"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_forwarders \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/list_forwarders?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_forwarders.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_forwarders.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_forwarders/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_forwarders.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_forwarders.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_forwarders',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/list_forwarders_backups": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the domains with domain-level forwarders.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-list_forwarders_backups",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_forwarders_backups",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "domain that uses a domain-level filter.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return domains with domain-level forwarders",
        "tags": [
          "Email",
          "Email Forwarding"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_forwarders_backups\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/list_forwarders_backups"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_forwarders_backups.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_forwarders_backups.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_forwarders_backups/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_forwarders_backups.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_forwarders_backups.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_forwarders_backups'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/list_lists": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the account's Mailman mailing lists.",
        "operationId": "Email-list_lists",
        "parameters": [
          {
            "description": "The domain to query. If you do **not** use this parameter, the function lists mailing lists for all of the cPanel account's domains.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "A [Perl Compatible Regular Expression (PCRE)](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) that filters the results.",
            "in": "query",
            "name": "regex",
            "required": false,
            "schema": {
              "example": "user",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_lists",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "accesstype": {
                                "description": "The level of access that users have to the mailing list.\n* `private` - The list has **all** of the following settings:\n  * The list has private archives.\n  * The administrator **must** approve subscriptions.\n  * The Mailman directory page does **not** display the list.\n* `public` - The list has **any** of the following settings:\n  * The list has public archives.\n  * Anyone can subscribe.\n  * The Mailman directory page displays the list.",
                                "enum": [
                                  "private",
                                  "public"
                                ],
                                "example": "public",
                                "type": "string"
                              },
                              "advertised": {
                                "description": "Whether the Mailman directory page displays the list.\n* `1` - The Mailman directory page displays the list.\n* `0` - The Mailman directory page does not display the list.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "archive_private": {
                                "description": "Whether the mailing list archive is `private`.\n* `1` - The mailing list archive is `private`.\n* `0` - The mailing list archive is `public`.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "desthost": {
                                "description": "The IP address or domain name that handles mail for the mailing list's domain.\n* A valid hostname.\n* An IPv4 address.\n\n**Note:**\n\n  If the function **cannot** resolve the IP address to a hostname, it will return the IP address.",
                                "example": "172.16.254.1",
                                "oneOf": [
                                  {
                                    "format": "domain",
                                    "type": "string"
                                  },
                                  {
                                    "format": "ipv4",
                                    "type": "string"
                                  }
                                ]
                              },
                              "diskused": {
                                "description": "The disk space that the mailing list currently uses, measured in megabytes (MB).",
                                "example": 20379,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "humandiskused": {
                                "description": "The disk space that the mailing list uses, in human-readable format.",
                                "example": "19.9\\u00a0KB",
                                "type": "string"
                              },
                              "list": {
                                "description": "The mailing list name and domain.",
                                "example": "list@example.com",
                                "format": "email",
                                "type": "string"
                              },
                              "listadmin": {
                                "description": "The mailing list's administrators' email addresses. A comma-separated list of email addresses.",
                                "example": "admin@example.com,admin2@example.com",
                                "type": "string"
                              },
                              "listid": {
                                "description": "The mailing list's name and domain. The mailing list name, an underscore (_), and the domain.",
                                "example": "list_example.com",
                                "type": "string"
                              },
                              "subscribe_policy": {
                                "description": "The level of control that the mailing list administrator has over new subscribers.\n* `1` - Anyone can subscribe. The system sends a confirmation email.\n* `2` - The administrator **must** approve subscriptions. The system does **not** send a confirmation email.\n* `3` - The administrator **must** approve subscriptions. The system sends a confirmation email.",
                                "enum": [
                                  1,
                                  2,
                                  3
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's mailing lists",
        "tags": [
          "Email",
          "Mailing Lists"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_lists\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/list_lists"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_lists.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_lists.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_lists/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_lists.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_lists.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_lists'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/list_mail_domains": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the account's mail domains.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.\n\n**Note:**\n\n  This function **always** returns the account's main domain first.\n\n**Additional Note:**\n\n  By default, temporary domains (*.cpanel.site) are excluded. Use the `return_temporary_domain` parameter to include them.",
        "operationId": "Email-list_mail_domains",
        "parameters": [
          {
            "description": "Whether to list `www.` addresses.\n* `1` — List `www.` addresses.\n* `0` — Do **not** list `www.` addresses.\nFor example, if you specify `1`, the function's output would include both `example.com` and `www.example.com`. If you specify `0`, the output would include **only** `example.com`.",
            "in": "query",
            "name": "add_www",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to list wildcard addresses.\n* `1` — List wildcard addresses.\n* `0` — Do **not** list wildcard addresses.\nFor example, if you specify `1`, the function's output would include both `example.com` and `*.example.com`. If you specify `0`, the output would include **only** `example.com`.",
            "in": "query",
            "name": "include_wildcard",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to include temporary domains (*.cpanel.site) in the output.\nBy default, temporary domains are excluded.",
            "in": "query",
            "name": "return_temporary_domain",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "description": "The name of the domain that the function returns with the `select `output parameter. If you do **not** use this parameter, the function will **not** return the `select` parameter with any domains.",
            "in": "query",
            "name": "select",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_mail_domains",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The domain name.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "select": {
                                "default": 1,
                                "description": "The domain that you specified in the `select` input parameter. The function **only** returns this value if you included the `select` parameter when you called the function.\n\n**Note:**\n\n  Because this value **only** appears if you included the `select` input parameter, The value **always** defaults to `1`.",
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's mail domains",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_mail_domains\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/list_mail_domains"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_mail_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_mail_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_mail_domains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_mail_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_mail_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_mail_domains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/list_mxs": {
      "get": {
        "x-readonly": true,
        "description": "This function lists Mail Exchanger (MX) records.\n\n**Important:**\n\n  When you disable the [*DNS* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-list_mxs",
        "parameters": [
          {
            "description": "The domain to query. If you do **not** use this parameter, the function returns MX records for all of the cPanel account's domains.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_mxs",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "alwaysaccept": {
                                "description": "Whether the domain's highest-priority mail exchanger accepts local mail.\n* `1` - Accept local mail.\n* `0` - Does **not** accept local mail.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "detected": {
                                "description": "The domain's highest-priority mail exchanger's type.\n* `auto`\n* `local`\n* `remote`\n* `secondary`",
                                "enum": [
                                  "auto",
                                  "local",
                                  "remote",
                                  "secondary"
                                ],
                                "example": "local",
                                "type": "string"
                              },
                              "domain": {
                                "description": "The domain name.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "entries": {
                                "description": "An array of objects that contains information about mail exchangers.",
                                "items": {
                                  "properties": {
                                    "domain": {
                                      "description": "The mail exchanger's domain.",
                                      "example": "example.com",
                                      "format": "domain",
                                      "type": "string"
                                    },
                                    "entrycount": {
                                      "description": "The mail exchanger's order in the list of priorities. For example, the mail exchanger with the highest priority returns `1`, and the next highest priority returns `2`.",
                                      "example": 1,
                                      "minimum": 1,
                                      "type": "integer"
                                    },
                                    "mx": {
                                      "description": "The mail exchanger's name.",
                                      "example": "mx.example.com",
                                      "format": "domain",
                                      "type": "string"
                                    },
                                    "priority": {
                                      "description": "The mail exchanger's [priority value](https://go.cpanel.net/whmdocsEditMXEntry).",
                                      "example": 5,
                                      "minimum": 0,
                                      "type": "integer"
                                    },
                                    "row": {
                                      "description": "Whether the mail exchanger is an odd or an even entry.\n* `even`\n* `odd`",
                                      "enum": [
                                        "even",
                                        "odd"
                                      ],
                                      "example": "odd",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "local": {
                                "description": "Whether the domain's highest priority mail exchanger is a local mail exchanger.\n* `1` - Local.\n* `0` - **Not** local.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "mx": {
                                "description": "The domain's highest-priority mail exchanger's name.",
                                "example": "mx.example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "mxcheck": {
                                "description": "The domain's highest-priority mail exchanger's type.\n* `auto`\n* `local`\n* `remote`\n* `secondary`",
                                "enum": [
                                  "auto",
                                  "local",
                                  "remote",
                                  "secondary"
                                ],
                                "example": "auto",
                                "type": "string"
                              },
                              "remote": {
                                "description": "Whether the domain's highest-priority mail exchanger is remote.\n* `1` - Remote.\n* `0` - **Not** remote.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "secondary": {
                                "description": "Whether the domain's highest-priority mail exchanger is secondary.\n* `1` - Secondary.\n* `0` - **Not** secondary.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "status": {
                                "description": "Whether the function succeeded.\n* `1` - Success.\n* `0` - Failure.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "statusmsg": {
                                "description": "A success or error message message.\n* A success message.\n* An error message.",
                                "example": "Fetched MX List",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "properties": {},
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return mail exchanger records",
        "tags": [
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_mxs\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/list_mxs"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_mxs.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_mxs.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_mxs/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_mxs.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_mxs.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_mxs'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/list_pops": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the cPanel account's email accounts.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-list_pops",
        "parameters": [
          {
            "description": "Whether to skip the email database's validation check.\n* `1` — Skip the validation check.\n* `0` — Run the validation check.",
            "in": "query",
            "name": "no_validate",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "A [Perl Compatible Regular Expression (PCRE)](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) that filters the results.",
            "in": "query",
            "name": "regex",
            "required": false,
            "schema": {
              "example": "user",
              "type": "string"
            }
          },
          {
            "description": "Whether to exclude the cPanel account's main account from the results.\n* `1` — Exclude the main account.\n* `0` — Include the main account.",
            "in": "query",
            "name": "skip_main",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_pops",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object of data for an email address on the cPanel account.",
                          "items": {
                            "properties": {
                              "email": {
                                "description": "An email address.\n* A valid email address on the cPanel account.\n* The cPanel account username, for the main account.",
                                "example": "user@example.com",
                                "oneOf": [
                                  {
                                    "format": "email",
                                    "type": "string"
                                  },
                                  {
                                    "format": "username",
                                    "type": "string"
                                  }
                                ]
                              },
                              "login": {
                                "description": "The email account login.\n* A valid email address on the cPanel account.\n* `Main Account`, for the main account.",
                                "example": "user@example.com",
                                "oneOf": [
                                  {
                                    "format": "email",
                                    "type": "string"
                                  },
                                  {
                                    "enum": [
                                      "Main Account"
                                    ],
                                    "type": "string"
                                  }
                                ]
                              },
                              "suspended_incoming": {
                                "description": "Whether incoming email for the email account is suspended.\n* `1` - Suspended.\n* `0` - Not suspended.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "suspended_login": {
                                "description": "Whether logins for the email account are suspended.\n* `1` - Suspended.\n* `0` - Not suspended.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email accounts",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_pops\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/list_pops"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_pops.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_pops.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_pops/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_pops.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_pops.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_pops'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/list_pops_with_disk": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the cPanel account's email accounts with disk information.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-list_pops_with_disk",
        "parameters": [
          {
            "description": "A domain name to filter the results by. If you do **not** use this parameter, the function returns **all** of the cPanel account's email addresses.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The cPanel user account to query. If you do **not** use this parameter, the function returns the email addresses for **all** cPanel accounts that the user owns.\n\n**Note:**\n\n To retrieve information for a single email address, add the domain parameter. For example, `email=user&domain=example.com` will return information for the email address `user@example.com`.",
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "example": "user",
              "format": "username",
              "type": "string"
            }
          },
          {
            "description": "Whether to display restriction status for each of the email addresses.\n* `1` — Display.\n* `0` — Do **not** display.",
            "in": "query",
            "name": "get_restrictions",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "An image to display for email addresses with an unlimited quota. If you specify an `infinityimg` value, the function returns HTML code to display that image as the `diskquota` parameter's value.",
            "in": "query",
            "name": "infinityimg",
            "required": false,
            "schema": {
              "example": "images/myimg.jpg",
              "type": "string"
            }
          },
          {
            "description": "Whether to return the `∞` character for email addresses with an unlimited quota.\n* `1` — Return the `∞` character for unlimited `diskquota` values.\n* `0` — Return the string `unlimited` for unlimited `diskquota` values.\n\n**Note:**\n\n If you specify `1` for this parameter **and** the `infinityimg` parameter, the function ignores **this** parameter and returns HTML code for unlimited `diskquota` values.",
            "in": "query",
            "name": "infinitylang",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "The maximum number of email addresses to return. If you do not use this parameter, the function returns an unlimited number of email addresses.",
            "in": "query",
            "name": "maxaccounts",
            "required": false,
            "schema": {
              "example": 500,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to skip the collection of disk usage information.\n* `1` — Do **not** collect.\n* `0` — Collect.",
            "in": "query",
            "name": "no_disk",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether to skip email database validation.\n* `1` — Skip validation.\n* `0` — Perform the validation.",
            "in": "query",
            "name": "no_validate",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "A [Perl Compatible Regular Expression (PCRE)](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) that filters the results. For example, `/^[a-z0-9_-]{6,18}$/` matches the local portion of an email address, if it contains between six and 18 characters.",
            "in": "query",
            "name": "regex",
            "required": false,
            "schema": {
              "default": "An empty string",
              "example": "/^[a-z0-9_-]{6,18}$/",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_pops_with_disk",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing data for each email address.",
                          "items": {
                            "properties": {
                              "_diskquota": {
                                "description": "The disk quota.\n* A positive value that represents the disk quota, in bytes.\n* `0` - The account possesses an unlimited disk quota.",
                                "example": 0,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "_diskused": {
                                "description": "The disk space that the email account uses.\n* A positive value that represents the used disk space, in bytes.\n* `0` - The account possesses an unlimited disk quota.",
                                "example": 483,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "diskquota": {
                                "description": "The email account's disk quota.\n* A positive value that represents the email address's quota, in megabytes (MB).\n* `unlimited`, `∞`, or HTML code to display an infinity image - The email account has an unlimited quota.\n\n**Note:**\n\n  The `infinityimg` and `infinitylang` parameters determine the unlimited value for this return.",
                                "example": "unlimited",
                                "oneOf": [
                                  {
                                    "minimum": 0,
                                    "type": "integer"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "diskused": {
                                "description": "The disk space that the email account uses.\n* A positive floating-point value that represents the used disk space, in megabytes (MB).\n* `0` - The account possesses an unlimited disk quota.",
                                "example": 0,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "diskusedpercent": {
                                "description": "The percentage of disk space that the email account uses.\n* A positive value.\n* `0` - The account has an unlimited disk quota.",
                                "example": 0,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "diskusedpercent20": {
                                "description": "The percentage of disk space that the email account uses.\n* A positive value.\n* `0` - The account possesses an unlimited disk quota.",
                                "example": 0,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "diskusedpercent_float": {
                                "description": "The floating-point value from which the function derives the `diskusedpercent` return.\n* A floating-point value.\n* `0` - Unlimited or disabled disk quota.\n\n**Note:**\n\n The `diskusedpercent_float` number can contain scientific notation values. For example, `1.20494365692139e-05`.",
                                "example": 0,
                                "minimum": 0,
                                "type": "number"
                              },
                              "domain": {
                                "description": "The email account's domain. For example, `example.com` if the email address is `user@example.com`.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "email": {
                                "description": "The email address, or the string `Main Account`.\n* A valid email address.\n* `Main Account`",
                                "example": "user@example.com",
                                "oneOf": [
                                  {
                                    "format": "email",
                                    "type": "string"
                                  },
                                  {
                                    "enum": [
                                      "Main Account"
                                    ],
                                    "type": "string"
                                  }
                                ]
                              },
                              "has_suspended": {
                                "description": "Whether the email account possesses one of the following suspension parameters: `suspended_login` `suspended_incoming` `suspended_outgoing` `hold_outgoing`\n* `1` - The email account has a suspension.\n* `0` - The email account does **not** have a suspension.\n\n**Note:**\n\n  The function **only** returns this value if you pass the `get_restrictions=1` parameter.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "hold_outgoing": {
                                "description": "Whether the email account's outgoing email is held in Exim's queue.\n* `1` - Outgoing email is held in Exim's queue.\n* `0` - Outgoing email is **not** held in Exim's queue.\n\n**Note:**\n\n  The function **only** returns this value if you pass the `get_restrictions=1` parameter.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "humandiskquota": {
                                "description": "The disk quota, in human-readable format.\n* The disk quota and the unit of measure.\n* `None` - The account possesses an unlimited disk quota.",
                                "example": "None",
                                "oneOf": [
                                  {
                                    "minimum": 0,
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [
                                      "None"
                                    ],
                                    "type": "string"
                                  }
                                ]
                              },
                              "humandiskused": {
                                "description": "The disk space that the email account uses, in human-readable format.\n* The disk space that the email account uses, a non-breaking space (`\\u00a0`), and the unit of measure.\n* `None` - The account possesses an unlimited disk quota.",
                                "example": "483 bytes",
                                "type": "string"
                              },
                              "login": {
                                "description": "The email address, or the main account username.\n* A valid email address.\n* The username for the main account.",
                                "example": "user@example.com",
                                "oneOf": [
                                  {
                                    "format": "username",
                                    "type": "string"
                                  },
                                  {
                                    "format": "email",
                                    "type": "string"
                                  }
                                ]
                              },
                              "mtime": {
                                "description": "The email account's last modification time, in [Unix time](https://wikipedia.org/wiki/Unix_time) format.",
                                "example": 1415894498,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "suspended_incoming": {
                                "description": "Whether the email account's incoming email is suspended.\n* `1` - Suspended.\n* `0` - **Not** suspended.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "suspended_login": {
                                "description": "Whether the user's ability to log in to, send mail from, and read their email account is suspended.\n* `1` - Suspended.\n* `0` - **Not** suspended.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "suspended_outgoing": {
                                "description": "Whether the email account's outgoing email is suspended.\n* `1` - Suspended.\n* `0` - **Not** suspended.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "txtdiskquota": {
                                "description": "The email account's disk quota.\n* A positive value that represents the email address's quota, in megabytes (MB).\n* `unlimited` - The email account has an unlimited quota.",
                                "example": "unlimited",
                                "oneOf": [
                                  {
                                    "minimum": 0,
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [
                                      "unlimited"
                                    ],
                                    "type": "string"
                                  }
                                ]
                              },
                              "user": {
                                "description": "The email account username. For example, `user` if the email address is `user@example.com`.",
                                "example": "user",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return email accounts with disk information",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_pops_with_disk\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/list_pops_with_disk"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_pops_with_disk.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_pops_with_disk.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_pops_with_disk/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_pops_with_disk.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_pops_with_disk.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_pops_with_disk'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/list_system_filter_info": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves a `.yaml.gz` file that contains system-level filter information.\n\n**Important:**\n\n  When you disable the [*Receive Mail* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-list_system_filter_info",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_system_filter_info",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "filter_info": {
                              "description": "The file that contains the account's system-level filter information. A `.yaml.gz` filename that contains the cPanel account username.",
                              "example": "filter_info.username.yaml.gz",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return system-level email filter file information",
        "tags": [
          "Email",
          "Email Filtering"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  list_system_filter_info\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/list_system_filter_info"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_list_system_filter_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_list_system_filter_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/list_system_filter_info/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_list_system_filter_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_list_system_filter_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'list_system_filter_info'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/passwd_list": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function changes a mailing list's password.\n\n**Important:**\n\nWhen you disable the [_Receive Mail_](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Email-passwd_list",
        "parameters": [
          {
            "description": "The full name (including the domain) of a Mailman mailing list on the cPanel account.",
            "in": "query",
            "name": "list",
            "required": true,
            "schema": {
              "example": "mylist@example.com",
              "type": "string"
            }
          },
          {
            "description": "The new password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "12345luggage",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "passwd_list",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update mailing list password",
        "tags": [
          "Email",
          "Mailing Lists"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  passwd_list \\\n  list='mylist@example.com' \\\n  password='12345luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/passwd_list?list=mylist%40example.com&password=12345luggage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_passwd_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_passwd_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/passwd_list/,\n    {\n        'list' => 'mylist@example.com',\n        'password' => '12345luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_passwd_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_passwd_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'passwd_list',\n    array (\n        'list' => 'mylist@example.com',\n        'password' => '12345luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/passwd_pop": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function changes an email account's password.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-passwd_pop",
        "parameters": [
          {
            "description": "The email account username or address.",
            "example": "username@example.com",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "anyOf": [
                {
                  "example": "username@example.com",
                  "format": "email",
                  "type": "string"
                },
                {
                  "example": "username",
                  "format": "username",
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The email account password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "12345luggage",
              "type": "string"
            }
          },
          {
            "description": "The email account's domain.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "default": "the cPanel account's main domain",
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "passwd_pop",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update email account password",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  passwd_pop \\\n  email='username@example.com' \\\n  password='12345luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/passwd_pop?email=username%40example.com&password=12345luggage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_passwd_pop.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_passwd_pop.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/passwd_pop/,\n    {\n        'email' => 'username@example.com',\n        'password' => '12345luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_passwd_pop.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_passwd_pop.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'passwd_pop',\n    array (\n        'email' => 'username@example.com',\n        'password' => '12345luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/release_outgoing": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sends all of the outgoing mail from Exim's queue for an email account.\n\n**Note:**\n\nTo set Exim to queue all outgoing mail for an email account, use the UAPI `Email::hold_outgoing` function.",
        "operationId": "Email-release_outgoing",
        "parameters": [
          {
            "description": "The email account's username.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "release_outgoing",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Start email account outgoing mail",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  release_outgoing \\\n  email='username@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/release_outgoing?email=username%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_release_outgoing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_release_outgoing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/release_outgoing/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_release_outgoing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_release_outgoing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'release_outgoing',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 70"
      }
    },
    "/Email/remove_mailman_delegates": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function removes an account's mailing list administrative privileges.",
        "operationId": "Email-remove_mailman_delegates",
        "parameters": [
          {
            "description": "list of the administrators to remove.",
            "in": "query",
            "name": "delegates",
            "required": true,
            "schema": {
              "example": "user@example.com,admin@example.com",
              "type": "string"
            }
          },
          {
            "description": "The mailing list.",
            "in": "query",
            "name": "list",
            "required": true,
            "schema": {
              "example": "mylist",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "remove_mailman_delegates",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "delegates": {
                              "description": "An array of the mailing list's administrators. One or more email addresses.",
                              "items": {
                                "example": "secondadmin@example.com",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "metadata": {
                              "properties": {
                                "transformed": {}
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove account mailing list admin privileges",
        "tags": [
          "Email",
          "Mailing Lists"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  remove_mailman_delegates \\\n  list='mylist' \\\n  delegates='user@example.com,admin@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/remove_mailman_delegates?list=mylist&delegates=user%40example.com%2cadmin%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_remove_mailman_delegates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_remove_mailman_delegates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/remove_mailman_delegates/,\n    {\n        'list' => 'mylist',\n        'delegates' => 'user@example.com,admin@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_remove_mailman_delegates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_remove_mailman_delegates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'remove_mailman_delegates',\n    array (\n        'list' => 'mylist',\n        'delegates' => 'user@example.com,admin@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/reorder_filters": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function modifies the filter order for an email address. For more information about Exim filters, read [Exim's documentation](http://www.exim.org/exim-html-3.30/doc/html/filter.html).\n\n**Important:**\n\nWhen you disable the [_Receive Mail_ role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-reorder_filters",
        "parameters": [
          {
            "description": "A mail filter name.\n\nFor each mail filter to reorder, supply a `filter*` parameter, where `*` is a number that represents the filter's order.\n\nFor example, to set `coffee` as the first email filter and `cheesecloth` as the second, set `coffee` as the `filter1` parameter's value, and `cheesecloth` as the value for the `filter2` parameter.",
            "in": "query",
            "name": "filter*",
            "required": true,
            "schema": {
              "example": "coffee",
              "type": "string"
            }
          },
          {
            "description": "The email address.",
            "in": "query",
            "name": "mailbox",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "reorder_filters",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "enum": [
                            null
                          ],
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update email address's email filter order",
        "tags": [
          "Email",
          "Email Filtering"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  reorder_filters \\\n  mailbox='user@example.com' \\\n  filter*='coffee'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/reorder_filters?mailbox=user%40example.com&filter%2a=coffee"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_reorder_filters.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_reorder_filters.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/reorder_filters/,\n    {\n        'mailbox' => 'user@example.com',\n        'filter*' => 'coffee',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_reorder_filters.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_reorder_filters.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'reorder_filters',\n    array (\n        'mailbox' => 'user@example.com',\n        'filter*' => 'coffee',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/set_always_accept": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sets the Mail Exchanger (MX) type.\n\n**Note:**\n\n  This function **only** affects the cPanel configuration. You **must** configure the mail exchanger's DNS entry separately.\n\n**Important:**\n\nWhen you disable the [DNS role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "Email-set_always_accept",
        "parameters": [
          {
            "description": "The mail exchanger's domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The mail exchanger type.\n* `auto` — Allow cPanel to determine the appropriate role.\n* `local` — Always accept the domain's mail.\n* `secondary` — Accept mail until a higher priority mail server is available.\n* `remote` — Do **not** accept mail.\n\n**Note:**\n\nThis parameter is redundant with the `mxcheck` parameter. Do **not** enter the `mxcheck` and `alwaysaccept`\nparameters at the same time. [Undefined behavior](https://en.wikipedia.org/wiki/Undefined_behavior) may occur if this\nhappens.",
            "in": "query",
            "name": "alwaysaccept",
            "required": false,
            "schema": {
              "default": "auto",
              "enum": [
                "auto",
                "local",
                "secondary",
                "remote"
              ],
              "example": "auto",
              "type": "string"
            }
          },
          {
            "description": "The mail exchanger type.\n* `auto` — Allow cPanel to determine the appropriate role.\n* `local` — Always accept the domain's mail.\n* `secondary` — Accept mail until a higher priority mail server is available.\n* `remote` — Do **not** accept mail.\n\n**Note:**\n\nThis parameter is redundant with the `alwaysaccept` parameter. Do **not** enter the `mxcheck` and `alwaysaccept`\nparameters at the same time. [Undefined behavior](https://en.wikipedia.org/wiki/Undefined_behavior) may occur if this\nhappens.",
            "in": "query",
            "name": "mxcheck",
            "required": false,
            "schema": {
              "default": "auto",
              "enum": [
                "auto",
                "local",
                "secondary",
                "remote"
              ],
              "example": "auto",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_always_accept",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "checkmx": {
                              "description": "An object containing the mail exchanger's data.",
                              "properties": {
                                "changed": {
                                  "description": "Whether a change occurred during the function.\n* `1` — Change occurred.\n* `0` — **No** change.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 1,
                                  "type": "integer"
                                },
                                "detected": {
                                  "description": "The mail exchanger type.\n* `auto` — Allow cPanel to determine the appropriate role.\n* `local` — Always accept the domain's mail.\n* `secondary` — Accept mail until a higher priority mail server is available.\n* `remote` — Do **not** accept mail.",
                                  "enum": [
                                    "auto",
                                    "local",
                                    "secondary",
                                    "remote"
                                  ],
                                  "example": "auto",
                                  "type": "string"
                                },
                                "isprimary": {
                                  "description": "Whether the mail exchanger is the primary mail exchanger.\n* `1` —  Primary.\n* `0` — **Not** primary.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "issecondary": {
                                  "description": "Whether the mail exchanger is a secondary exchanger.\n* `1` — Secondary.\n* `0` — **Not** secondary.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "local": {
                                  "description": "Whether the mail exchanger is a local exchanger.\n* `1` — Local.\n* `0` — **Not** local.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "mxcheck": {
                                  "description": "The mail exchanger type.\n  * `auto` — Allow cPanel to determine the appropriate role.\n  * `local` — Always accept the domain's mail.\n  * `secondary` — Accept mail until a higher priority mail server is available.\n  * `remote` — Do **not** accept mail.",
                                  "enum": [
                                    "auto",
                                    "local",
                                    "secondary",
                                    "remote"
                                  ],
                                  "example": "auto",
                                  "type": "string"
                                },
                                "remote": {
                                  "description": "Whether the mail exchanger is a remote exchanger.\n* `1` — Remote.\n* `0` — **Not** remote.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "secondary": {
                                  "description": "Whether the mail exchanger is a secondary exchanger.\n* `1` — Secondary.\n* `0` — **Not** secondary.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "warnings": {
                                  "description": "An array of warning messages, if any exist. One or more warning messages.",
                                  "items": {
                                    "example": "Auto Detect of MX configuration not possible due to non-resolving MX entries. Defaulting to last known setting: local.",
                                    "type": "string"
                                  },
                                  "type": "array"
                                }
                              },
                              "type": "object"
                            },
                            "detected": {
                              "description": "The mail exchanger type.\n  * `auto` — Allow cPanel to determine the appropriate role.\n  * `local` — Always accept the domain's mail.\n  * `secondary` — Accept mail until a higher priority mail server is available.\n  * `remote` — Do **not** accept mail.",
                              "example": "auto",
                              "type": "string"
                            },
                            "local": {
                              "description": "Whether the mail exchanger is a local exchanger.\n* `1` — Local.\n* `0` — **Not** local.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 0,
                              "type": "integer"
                            },
                            "mxcheck": {
                              "description": "The mail exchanger type.\n  * `auto` — Allow cPanel to determine the appropriate role.\n  * `local` — Always accept the domain's mail.\n  * `secondary` — Accept mail until a higher priority mail server is available.\n  * `remote` — Do **not** accept mail.",
                              "example": "auto",
                              "type": "string"
                            },
                            "remote": {
                              "description": "Whether the mail exchanger is a remote exchanger.\n* `1` — Remote.\n* `0` — **Not** remote.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 0,
                              "type": "integer"
                            },
                            "results": {
                              "description": "A message of success or a reason for failure.\n* A message of success that includes the new type.\n* A string that describes an error.",
                              "example": "Set Always Accept Status to: local",
                              "type": "string"
                            },
                            "secondary": {
                              "description": "Whether the mail exchanger is a secondary exchanger.\n* `1` — Secondary.\n* `0` — **Not** secondary.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 0,
                              "type": "integer"
                            },
                            "status": {
                              "description": "Whether the function succeeded.\n* `1` — Success.\n* `0` — Failure.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "statusmsg": {
                              "description": "A message of success or a reason for failure.\n* A message of success that includes the new type.\n* A string that describes an error.",
                              "example": "Set Always Accept Status to: local",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update Mail Exchanger type",
        "tags": [
          "Email",
          "Email Server Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  set_always_accept \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/set_always_accept?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_set_always_accept.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_set_always_accept.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/set_always_accept/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_set_always_accept.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_set_always_accept.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'set_always_accept',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/set_default_address": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function configures a default (catchall) email address.\n\n**Important**:\n\n  When you disable the [Mail Receive role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-set_default_address",
        "parameters": [
          {
            "description": "The method to use to handle unroutable mail.\n* `fwd` — Forward messages to the `fwdemail` parameter’s address.\n* `fail` — Bounce messages back to the sender, and include the `failmsgs` parameter’s failure message.\n* `blackhole` — Send messages to the `/dev/null/` directory. This method does **not** generate a failure notice.\n* `pipe` — Pipe mail to the `pipefwd` parameter’s application. This parameter requires the [File Storage role](https://go.cpanel.net/serverroles).",
            "in": "query",
            "name": "fwdopt",
            "required": true,
            "schema": {
              "enum": [
                "fwd",
                "fail",
                "blackhole",
                "pipe"
              ],
              "example": "fwd",
              "type": "string"
            }
          },
          {
            "description": "The domain whose default email behavior you want to configure.\n\n**Note**:\n\n  This parameter defaults to the cPanel account’s main domain.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The failure message for the message’s sender.\n\n**Note**:\n\n Use this parameter if you used the `fail` method for the `fwdopt` parameter.",
            "in": "query",
            "name": "failmsgs",
            "required": false,
            "schema": {
              "default": "No such person at this address",
              "example": "Failure echos loud. That address does not exist. Softly I regret. - an email failure haiku",
              "type": "string"
            }
          },
          {
            "description": "The email address to which the system forwards messages.\n\n**Note**:\n\n Use this parameter if you used the `fwd` method for the `fwdopt` parameter.",
            "in": "query",
            "name": "fwdemail",
            "required": false,
            "schema": {
              "example": "admin@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The application to which the system pipes messages.\n\n**Note**:\n\n  Use this parameter if you used the `pipe` method for the `fwdopt` parameter.\n\n**Important**:\n\n  This parameter requires the [File Storage role](https://go.cpanel.net/serverroles).",
            "in": "query",
            "name": "pipefwd",
            "required": false,
            "schema": {
              "example": "mailscript.pl",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_default_address",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of hashes of forwarder information. This array of hashes includes the domain and dest returns.",
                          "items": {
                            "properties": {
                              "dest": {
                                "description": "The destination to which the system sends unroutable mail.\n- An email address  The system forwards mail to this address.\n- :fail:  The system bounces mail back to the sender, and sends a failure message.\n- :blackhole:  The system deletes mail without a failure message.\n- The path to an application  The system pipes mail to this application.",
                                "example": "admin@example.com",
                                "type": "string"
                              },
                              "domain": {
                                "description": "The domain. A valid domain on the account.",
                                "example": "example.com",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create default email address",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  set_default_address \\\n  fwdopt='fwd'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/set_default_address?fwdopt=fwd"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_set_default_address.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_set_default_address.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/set_default_address/,\n    {\n        'fwdopt' => 'fwd',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_set_default_address.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_set_default_address.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'set_default_address',\n    array (\n        'fwdopt' => 'fwd',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/set_list_privacy_options": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function modifies a Mailman mailing list's privacy options.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-set_list_privacy_options",
        "parameters": [
          {
            "description": "Whether the Mailman directory page displays the list.\n* `1` - Display.\n* `0` - Does **not** display.",
            "in": "query",
            "name": "advertised",
            "required": true,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether the mailing list archive is private.\n* `1` - Private.\n* `0` - Public.",
            "in": "query",
            "name": "archive_private",
            "required": true,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The mailing list name.",
            "in": "query",
            "name": "list",
            "required": true,
            "schema": {
              "example": "mylist",
              "type": "string"
            }
          },
          {
            "description": "The level of control that the mailing list administrator has over new subscribers.\n* `1` - Anyone can subscribe. The system sends a confirmation email.\n* `2` - The administrator **must** approve subscriptions. The system does **not** send a confirmation email.\n* `3` - The administrator **must** approve subscriptions. The system sends a confirmation email.",
            "in": "query",
            "name": "subscribe_policy",
            "required": true,
            "schema": {
              "enum": [
                1,
                2,
                3
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_list_privacy_options",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update mailing list privacy options",
        "tags": [
          "Email",
          "Mailing Lists"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  set_list_privacy_options \\\n  list='mylist' \\\n  advertised='1' \\\n  archive_private='1' \\\n  subscribe_policy='1'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/set_list_privacy_options?list=mylist&advertised=1&archive_private=1&subscribe_policy=1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_set_list_privacy_options.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_set_list_privacy_options.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/set_list_privacy_options/,\n    {\n        'list' => 'mylist',\n        'advertised' => '1',\n        'archive_private' => '1',\n        'subscribe_policy' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_set_list_privacy_options.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_set_list_privacy_options.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'set_list_privacy_options',\n    array (\n        'list' => 'mylist',\n        'advertised' => '1',\n        'archive_private' => '1',\n        'subscribe_policy' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/set_manual_mx_redirects": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function lets you create a manual Exim mail exchanger (MX) redirect for a domain.\nAn MX redirection lets you bypass the domain's MX lookup via the Domain Name System (DNS).\nThis function adds the manual redirect entries to the `/etc/manualmx` file.\n\n**Note:**\n\n  To remove a domain's manual MX redirection, use the UAPI Email `unset_manual_mx_redirect` function.",
        "operationId": "Email-set_manual_mx_redirects",
        "parameters": [
          {
            "description": "The domain for which to add a manual MX redirect entry.\n\n**Note:**\n\n* To add multiple domain entries, increment the parameter. For example, use the `domain`, `domain-1`, and `domain-2` parameters.\n* For multiple domains, you **must** include its corresponding `mx_host` value.",
            "in": "query",
            "name": "domain",
            "required": true,
            "examples": {
              "single": {
                "summary": "Add a single manual MX redirect entry.",
                "value": "'example.com'"
              },
              "multiple": {
                "summary": "Add multiple manual MX redirect entries.",
                "value": "example.com&domain-1=example1.com&domain-2=example2.com"
              }
            },
            "schema": {
              "example": "example.com",
              "type": "string",
              "format": "domain"
            }
          },
          {
            "description": "The domain, IPv4, or IPv6 address to redirect the domain value's emails to.\n\n**Note:**\n\n * To add multiple MX hosts, increment the parameter. For example, use the `mx_host`, `mx_host-1`, and `mx_host-2` parameters.\n * For multiple MX hosts, you **must** include its corresponding `domain` value.",
            "in": "query",
            "name": "mx_host",
            "required": true,
            "examples": {
              "single": {
                "summary": "Add a single manual MX host.",
                "value": "'mailhostexample'"
              },
              "multiple": {
                "summary": "Add multiple manual MX hosts.",
                "value": "mailhostexample&mx_host-1=mailhostexample&mx_host-2=mailhostexample"
              }
            },
            "schema": {
              "oneOf": [
                {
                  "type": "string",
                  "description": "A domain name.",
                  "format": "domain"
                },
                {
                  "type": "string",
                  "description": "An IPv4 address.",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "description": "An IPv6 address.",
                  "format": "ipv6"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_manual_mx_redirects",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "A list of domains and the replaced manual MX redirect entries.",
                          "properties": {
                            "additionalProperties": {
                              "description": "The domain for which the function replaced the manual MX redirect entry.\n\n* null — The domain did not have an existing manual MX redirect entry.\n\n**Note:**\n\nThis return's name is the `domain` parameter's value.",
                              "example": "mailhostexample.com",
                              "type": "string",
                              "nullable": true
                            }
                          },
                          "type": "object",
                          "example": {
                            "example.com": "mailhostexample.com"
                          }
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add manual MX redirection",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty --user=username Email set_manual_mx_redirects domain='example.com' mx_host='mailhostexample.com'"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/set_manual_mx_redirects?domain=example.com&mx_host=mailhostexample.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_set_manual_mx_redirects.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_set_manual_mx_redirects.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/set_manual_mx_redirects/,\n    {\n        'domain' => 'example.com',\n        'mx_host' => 'mailhostexample.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_set_manual_mx_redirects.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_set_manual_mx_redirects.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'set_manual_mx_redirects',\n    array (\n        'domain' => 'example.com',\n        'mx_host' => 'mailhostexample.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 96"
      }
    },
    "/Email/stats_db_status": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the status of the eximstats SQLite Database.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-stats_db_status",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "stats_db_status",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The disk space that the email account uses.\n* `active` - The database is available and up-to-date.\n* `importing` - The database is available, but a data import is currently in progress.\n* `upcp` - The database is unavailable because cPanel & WHM is updating.\n\n**Note:**\n\nIf the `eximstats` database is running a cPanel & WHM update, but the database is available, this function will return `active`, **not** `upcp`.",
                          "enum": [
                            "active",
                            "importing",
                            "upcp"
                          ],
                          "example": "active",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return eximstats SQLite database status",
        "tags": [
          "Email",
          "Email Server Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  stats_db_status\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/stats_db_status"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_stats_db_status.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_stats_db_status.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/stats_db_status/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_stats_db_status.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_stats_db_status.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'stats_db_status'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 64"
      }
    },
    "/Email/store_filter": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a new email filter. For more information about Exim filters, read [Exim's documentation](http://www.exim.org/exim-html-3.30/doc/html/filter.html).\n\n**Important:**\n\nWhen you disable the [*Receive Mail* role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles), the system **disables** this function.\n\n### Create multiple rules\n\nYou may create up to 4,096 separate sets of conditions in one filter. To do this, append numbers to the parameter names.\n\nTo create a filter with two sets of actions and conditions, use the following parameters:\n  * Assign the information for the first filter rule to the `action1`, `dest1`, `match1`, `opt1`, `part1`, and `val1` parameters.\n  * Assign the information for the second filter rule to the `action2`, `dest2`, `match2`, `opt2`, `part2`, and `val2` parameters.\n\nTo create a filter that uses one set of actions but two sets of conditions, use the following parameters:\n  * Assign the actions to the `action1` and `dest1` parameters.\n  * Assign the first set of conditions to the `match1`, `opt1`, `part1`, and `val1` parameters.\n  * Assign the second set of conditions to the `match2`, `opt2`, `part2`, and `val2` parameters.",
        "operationId": "Email-store_filter",
        "parameters": [
          {
            "description": "The filter's action.\n\n* `deliver` - Deliver the message to the `dest*` address.\n* `fail` - Force a delivery failure.\n* `finish` - Stop processing the message.\n* `save` - Save the message to the `dest*` file.\n* `pipe` - Pipe the message to the `dest*` application.\n\n**Important:**\n\n* You **must** increment each action. For example, pass the first action as `action1` and the second action as `action2`.\n* This value **requires** the `FileStorage` role. For more information, read our [How to Use Server Profiles](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles) documentation.",
            "examples": {
              "multiple": {
                "summary": "Use multiple filter actions.",
                "value": "action1=deliver action2=save"
              },
              "single": {
                "summary": "Use a single filter action.",
                "value": "deliver"
              }
            },
            "in": "query",
            "name": "action*",
            "required": true,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "deliver",
                    "fail",
                    "finish",
                    "save",
                    "pipe"
                  ],
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The filter name.",
            "in": "query",
            "name": "filtername",
            "required": true,
            "schema": {
              "example": "coffee",
              "type": "string"
            }
          },
          {
            "description": "The filter's [match type](http://www.exim.org/exim-html-current/doc/html/spec_html/filter_ch-exim_filter_files.html).\n* If the `val*` parameter is a string, use a string operator.\n* If the `val*` parameter is an integer, use a numeric operator.\n\nString operators:\n\n* `is`\n* `matches`\n* `contains`\n* `does not contain`\n* `begins`\n* `does not begin`\n* `ends`\n* `does not end`\n* `does not match`\n\nNumeric operators:\n\n* `is above`\n* `is not above`\n* `is below`\n* `is not below`\n\n**Important:**\n\n You **must** increment each match type. For example, pass the first match type as `match1` and the second match type as `match2`.",
            "examples": {
              "multiple": {
                "summary": "Use multiple match types.",
                "value": "match1=contains match2=matches"
              },
              "single": {
                "summary": "Use a single match type.",
                "value": "contains"
              }
            },
            "in": "query",
            "name": "match*",
            "required": true,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "is",
                    "matches",
                    "contains",
                    "does not contain",
                    "begins",
                    "does not begin",
                    "ends",
                    "does not end",
                    "does not match",
                    "is above",
                    "is not above",
                    "is below",
                    "is not below"
                  ],
                  "example": "matches",
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The email section to query.\n\n * `$h_x-Spam-Bar:` - Match against the message's spam score value, measured in plus(`+`) characters.\n * `$h_x-Spam-Score:` - Match against the message's spam score value.\n * `$h_X-Spam-Status:` - Match against whether the system detected the message as spam.\n * `$h_List-Id:` - Match against the message's `List-ID` header value.\n * `$header_from:` - Match against the `From:` section.\n * `$header_subject:` - Match against the `Subject:` section.\n * `$header_to:` - Match against the `To:` section.\n * `$reply_address:` - Match against the `Reply To:` section.\n * `$message_body:` - Match against the message's body.\n * `$message_headers:` - Match against the message's headers.\n * `foranyaddress $h_to:, $h_cc:` - Match against all message recipients.\n * `not delivered` - Match if the message is not queued for delivery.\n * `error_message` - Match if the incoming message is bounced.\n\n**Important:**\n\nYou **must** increment each section. For example, pass the first section as `part1` and the second section as `part2`.\n\n**Note:**\n\nGenerally, the recipient does **not** receive the `BCC` field in an email's header. For this reason you **cannot** use the `BCC` field in a filter.",
            "examples": {
              "multiple": {
                "summary": "Query multiple email sections.",
                "value": "part1=$header_from part2=$message_body"
              },
              "single": {
                "summary": "Query a single email section.",
                "value": "$header_from"
              }
            },
            "in": "query",
            "name": "part*",
            "required": true,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "$h_x-Spam-Bar",
                    "$h_x-Spam-Score",
                    "$h_X-Spam-Status",
                    "$h_List-id",
                    "$header_from",
                    "$header_subject",
                    "$header_to",
                    "$reply_address",
                    "$message_body",
                    "$message_headers",
                    "$h_to, $h_cc",
                    "not delivered",
                    "error_message"
                  ],
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The value to match.\n\n**Important:**\n\nYou **must** increment each value. For example, pass the first value as `val1` and the second value as `val2`.",
            "examples": {
              "multiple": {
                "summary": "Match multiple values.",
                "value": "val1=coconut val2=12"
              },
              "single": {
                "summary": "Match a single value.",
                "value": "coconut"
              }
            },
            "in": "query",
            "name": "val*",
            "required": true,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            }
          },
          {
            "description": "The email address, for user-level filters. If you do not use this parameter, the function creates an account-level filter.",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The destination for filtered mail.\n\n**Important:**\n\n * This parameter is **required** if the action value is `deliver`, `save`, or `pipe`.\n * You **must** increment each destination. For example, pass the first destination as `dest1` and the second destination as `dest2`.",
            "examples": {
              "multiple": {
                "summary": "Use multiple destinations for filtered mail.",
                "value": "dest1=user@example.com dest2=user2@example.com"
              },
              "single": {
                "summary": "Use a single destination for filtered mail.",
                "value": "user@example.com"
              }
            },
            "in": "query",
            "name": "dest*",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "description": "A valid email address.",
                  "example": "cheesecloth@example.com",
                  "format": "email",
                  "type": "string"
                },
                {
                  "description": "A valid file or application path.",
                  "example": "/path/to/thing",
                  "format": "path",
                  "type": "string"
                }
              ],
              "default": ""
            }
          },
          {
            "description": "The name of an existing filter, to rename it. If you do not use this parameter, the function creates a new filter.",
            "in": "query",
            "name": "oldfiltername",
            "required": false,
            "schema": {
              "example": "pool",
              "type": "string"
            }
          },
          {
            "description": "The connection between multiple conditions.\n\n**Important:**\n\nYou **must** increment each connection. For example, pass the first connection as `opt1` and the second connection as `opt2`.",
            "examples": {
              "multiple": {
                "summary": "Use multiple connections between conditions.",
                "value": "opt1=and opt2=and"
              },
              "single": {
                "summary": "Use a single connection between conditions.",
                "value": "and"
              }
            },
            "in": "query",
            "name": "opt*",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "and",
                    "or"
                  ],
                  "type": "string"
                }
              ],
              "default": "and"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "store_filter",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "account": {
                              "description": "The filter's email address. The function only returns this value if it created a user-level filter.",
                              "example": "user@example.com",
                              "format": "email",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create email filter",
        "tags": [
          "Email",
          "Email Filtering"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  store_filter \\\n  filtername='coffee' \\\n  action*='deliver' \\\n  match*='contains' \\\n  part*='$header_from' \\\n  val*='coconut'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/store_filter?filtername=coffee&action%2a=deliver&match%2a=contains&part%2a=%24header_from&val%2a=coconut"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_store_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_store_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/store_filter/,\n    {\n        'filtername' => 'coffee',\n        'action*' => 'deliver',\n        'match*' => 'contains',\n        'part*' => '$header_from',\n        'val*' => 'coconut',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_store_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_store_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'store_filter',\n    array (\n        'filtername' => 'coffee',\n        'action*' => 'deliver',\n        'match*' => 'contains',\n        'part*' => '$header_from',\n        'val*' => 'coconut',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/suspend_incoming": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function suspends incoming email for an account. The system will reject incoming email while the account is suspended.\n\n**Notes:**\n\n* The user can still log in to the email account. To suspend a user's ability to log in to, send mail from, and read their account, use the UAPI `Email::suspend_login` function.\n* Use the UAPI `Email::unsuspend_incoming` function to allow the account to receive email.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-suspend_incoming",
        "parameters": [
          {
            "description": "The email user's account name.",
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "suspend_incoming",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Suspend email account incoming (SMTP) mail",
        "tags": [
          "Email",
          "Email Suspensions"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  suspend_incoming\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/suspend_incoming"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_suspend_incoming.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_suspend_incoming.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/suspend_incoming/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_suspend_incoming.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_suspend_incoming.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'suspend_incoming'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/Email/suspend_login": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function suspends a user's ability to log in to their email account. This function immediately suspends the user's login credentials and prevents future authenticated connections to the email account.\n\n**Notes:**\n\n* When you suspend an account, the user's account still receives email.\n* To suspend incoming email for an account, use the UAPI `Email::suspend_incoming` function.\n* To remove the login suspension for an account, use the UAPI `Email::unsuspend_login` function.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-suspend_login",
        "parameters": [
          {
            "description": "The email user's account name.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "suspend_login",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Suspend email account login",
        "tags": [
          "Email",
          "Email Suspensions"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  suspend_login \\\n  email='user@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/suspend_login?email=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_suspend_login.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_suspend_login.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/suspend_login/,\n    {\n        'email' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_suspend_login.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_suspend_login.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'suspend_login',\n    array (\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/Email/suspend_outgoing": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function rejects outgoing mail for a suspended email account. This function does **not** disable a user's login credentials or access permissions to their email account.\n\n**Notes:**\n\n* To suspend a user's login credentials and prevent authenticated connections to the email account, use the UAPI `Email::suspend_login` function.\n* To allow an email account to send mail, use the UAPI `Email::unsuspend_outgoing` function.\n* To hold outgoing mail in Exim's queue, use the UAPI `Email::hold_outgoing` function.\n\n**Important:**\n\nWhen you disable the [Send Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-suspend_outgoing",
        "parameters": [
          {
            "description": "The email account's username.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "suspend_outgoing",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether the function succeeded.\n* `1` — The function succeeded.\n* `0` — The function failed.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Suspend email account outgoing mail",
        "tags": [
          "Email",
          "Email Suspensions"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  suspend_outgoing \\\n  email='username@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/suspend_outgoing?email=username%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_suspend_outgoing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_suspend_outgoing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/suspend_outgoing/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_suspend_outgoing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_suspend_outgoing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'suspend_outgoing',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 70"
      }
    },
    "/Email/terminate_mailbox_sessions": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function terminates all IMAP and POP3 connections for a cPanel account.\n\n**Note:**\n\nThis function ends connections for every email address, which includes the [default address](https://go.cpanel.net/cpaneldocsDefaultAddress).",
        "operationId": "Email-terminate_mailbox_sessions",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "metadata": {
                      "properties": {
                        "command": {
                          "description": "The method name called.",
                          "example": "terminate_mailbox_sessions",
                          "type": "string"
                        },
                        "reason": {
                          "description": "The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.",
                          "example": "OK",
                          "type": "string"
                        },
                        "result": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `reason` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "version": {
                          "description": "The version of the API function.",
                          "example": 1,
                          "type": "integer"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Stop cPanel account IMAP and POP3 connections",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  terminate_mailbox_sessions\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/terminate_mailbox_sessions"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_terminate_mailbox_sessions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_terminate_mailbox_sessions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/terminate_mailbox_sessions/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_terminate_mailbox_sessions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_terminate_mailbox_sessions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'terminate_mailbox_sessions'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 96"
      }
    },
    "/Email/trace_delivery": {
      "get": {
        "x-readonly": true,
        "description": "This function traces the email delivery route to an email account.",
        "operationId": "Email-trace_delivery",
        "parameters": [
          {
            "description": "The email address to which to trace a message delivery path.",
            "in": "query",
            "name": "recipient",
            "required": true,
            "schema": {
              "example": "username@example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "trace_delivery",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "allOf": [
                            {
                              "$ref": "#/components/schemas/trace_deliveryResponseBase"
                            },
                            {
                              "$ref": "#/components/schemas/trace_deliveryType"
                            }
                          ],
                          "example": {
                            "address": "username@example.com",
                            "destinations": [
                              {
                                "address": "username@example.com",
                                "aliasfile": "/etc/valiases/example.com",
                                "destinations": [
                                  {
                                    "mailbox": "username@example.com",
                                    "type": "local_delivery"
                                  }
                                ],
                                "type": "routed"
                              }
                            ],
                            "type": "routed"
                          }
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings\n describe non-critical failures or other problematic conditions\n noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Run email delivery route trace",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  trace_delivery \\\n  recipient='username@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/trace_delivery?recipient=username%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_trace_delivery.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_trace_delivery.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/trace_delivery/,\n    {\n        'recipient' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_trace_delivery.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_trace_delivery.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'trace_delivery',\n    array (\n        'recipient' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/Email/trace_filter": {
      "get": {
        "x-readonly": true,
        "description": "This function tests mail filters. The function **only** tests filters for the cPanel account's main domain, and only tests against the message's body. For more information about Exim filters, read [Exim's documentation](http://www.exim.org/exim-html-3.30/doc/html/filter.html).\n\n**Note:**\n\nIf the domain or account does not contain a filter file, this function will fail.\n\n**Important:**\n\nWhen you disable the [Receive Mail](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Email-trace_filter",
        "parameters": [
          {
            "description": "The string to test. The function uses this string as the body of an email message, to check whether filters would match the string.",
            "in": "query",
            "name": "msg",
            "required": true,
            "schema": {
              "example": "Test",
              "type": "string"
            }
          },
          {
            "description": "The email address, to test legacy cPanel filters in the filters directory. If you do not use this parameter, the function tests the main domain's filters in the `/etc/vfilters` directory.",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "trace_filter",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "trace": {
                              "description": "A series of messages that describe the trace results.\n\n**Note:**\n\nThis output may contain HTML.",
                              "example": "Warning: no message headers read\\nReturn-path copied from sender\\nSender = user@example.com\\nRecipient = user@example.com\\nTesting Exim filter file &quot;/etc/vfilters/example.com&quot;\\n\\nFiltering did not set up a significant delivery.\\n<b>Normal delivery will occur.\\n</b>",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Run test for main domain email filters",
        "tags": [
          "Email",
          "Email Filtering"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  trace_filter \\\n  msg='Test'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/trace_filter?msg=Test"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_trace_filter.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_trace_filter.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/trace_filter/,\n    {\n        'msg' => 'Test',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_trace_filter.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_trace_filter.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'trace_filter',\n    array (\n        'msg' => 'Test',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Email/unset_manual_mx_redirects": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function lets you create a manual Exim mail exchanger (MX) redirect for a domain.\nAn MX redirection lets you bypass the domain's MX lookup via the Domain Name System (DNS).\nThis function adds the manual redirect entries to the `/etc/manualmx` file.\n\n**Note:**\n\n  To remove a domain's manual MX redirection, use the UAPI Email `unset_manual_mx_redirect` function.",
        "operationId": "Email-unset_manual_mx_redirects",
        "parameters": [
          {
            "description": "The domain for which to add a manual MX redirect entry.\n\n**Note:**\n\n* To add multiple domain entries, increment the parameter. For example, use the `domain`, `domain-1`, and `domain-2` parameters.\n* For multiple domains, you **must** include its corresponding `mx_host` value.",
            "in": "query",
            "name": "domain",
            "required": true,
            "examples": {
              "single": {
                "summary": "Add a single manual MX redirect entry.",
                "value": "'example.com'"
              },
              "multiple": {
                "summary": "Add multiple manual MX redirect entries.",
                "value": "example.com&domain-1=example1.com&domain-2=example2.com"
              }
            },
            "schema": {
              "example": "example.com",
              "type": "string",
              "format": "domain"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "unset_manual_mx_redirects",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "A list of domains and the removed manual MX redirect entries.",
                          "properties": {
                            "additionalProperties": {
                              "description": "The domain for which the function removed the manual MX redirect entry.\n\n* null — The domain did not have a manual MX redirect entry.\n\n**Note:**\n\nThis return's name is the `domain` parameter's value.",
                              "example": "mailhostexample.com",
                              "type": "string",
                              "nullable": true
                            }
                          },
                          "type": "object",
                          "example": {
                            "example.com": "mailhostexample.com"
                          }
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove manual MX redirection",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty --user=username Email unset_manual_mx_redirects domain='example.com'"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/unset_manual_mx_redirects?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_unset_manual_mx_redirects.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_unset_manual_mx_redirects.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/unset_manual_mx_redirects/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_unset_manual_mx_redirects.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_unset_manual_mx_redirects.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'unset_manual_mx_redirects',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 96"
      }
    },
    "/Email/unsuspend_incoming": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function unsuspends incoming email for an email account.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-unsuspend_incoming",
        "parameters": [
          {
            "description": "The email user's account name.",
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "unsuspend_incoming",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether the function succeeded.\n* `1` — The function succeeded.\n* `0` — The function failed.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Unsuspend email account incoming mail",
        "tags": [
          "Email",
          "Email Suspensions"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  unsuspend_incoming\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/unsuspend_incoming"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_unsuspend_incoming.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_unsuspend_incoming.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/unsuspend_incoming/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_unsuspend_incoming.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_unsuspend_incoming.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'unsuspend_incoming'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/Email/unsuspend_login": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function restores a user's ability to log in to their email account.\n\n**Note:**\n\n* To suspend a user's ability to log in, use the UAPI `Email::suspend_login` function.\n* To suspend incoming email for an account, use the UAPI `Email::suspend_incoming` function.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "Email-unsuspend_login",
        "parameters": [
          {
            "description": "The email user's account name.",
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "unsuspend_login",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Unsuspend email account login",
        "tags": [
          "Email",
          "Email Suspensions"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  unsuspend_login\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/unsuspend_login"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_unsuspend_login.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_unsuspend_login.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/unsuspend_login/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_unsuspend_login.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_unsuspend_login.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'unsuspend_login'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/Email/unsuspend_outgoing": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function cancels the suspension action put in place by the UAPI `Email::suspend_outgoing`\nfunction for outgoing mail for an email account.\n\n**Note:**\n\nTo suspend an email account and reject all outgoing mail, use the UAPI `Email::suspend_outgoing` function.        ",
        "operationId": "Email-unsuspend_outgoing",
        "parameters": [
          {
            "description": "The email account's username.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "username@example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "unsuspend_outgoing",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Unsuspend email account outgoing mail",
        "tags": [
          "Email",
          "Email Suspensions"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  unsuspend_outgoing \\\n  email='username@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/unsuspend_outgoing?email=username%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_unsuspend_outgoing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_unsuspend_outgoing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/unsuspend_outgoing/,\n    {\n        'email' => 'username@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_unsuspend_outgoing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_unsuspend_outgoing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'unsuspend_outgoing',\n    array (\n        'email' => 'username@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 70"
      }
    },
    "/Email/verify_password": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function verifies the password for an email account.\n\n**Important:**\n\nWhen you disable the [Receive Mail role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Email-verify_password",
        "parameters": [
          {
            "description": "The email account address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The email account password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "123456luggage",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "verify_password",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Email",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether the password is valid for the email account.\n* `1` - The password is valid.\n* `0` - The password is **not** valid.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Validate email account password",
        "tags": [
          "Email",
          "Email Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Email \\\n  verify_password \\\n  email='username@example.com' \\\n  password='123456luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Email/verify_password?email=username%40example.com&password=123456luggage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Email_verify_password.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Email_verify_password.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Email/,\n    q/verify_password/,\n    {\n        'email' => 'username@example.com',\n        'password' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Email_verify_password.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Email_verify_password.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Email',\n    'verify_password',\n    array (\n        'email' => 'username@example.com',\n        'password' => '123456luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/EmailAuth/apply_dmarc": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function applies a DMARC record to the specified domain(s)",
        "operationId": "EmailAuth-apply_dmarc",
        "parameters": [
          {
            "description": "The DMARC record to apply to the requested domains.\n\n**Note:**\n\nVisit the following link for more information about the DMARC record specification: https://dmarc.org/resources/specification/",
            "example": "v=DMARC1;p=reject;pct=100;rua=mailto:postmaster@example.com",
            "in": "query",
            "name": "policy",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The domain for which to apply the DMARC record.\n\n**Note:**\n\nTo enable multiple domain DMARC records, duplicate or increment the parameter. For example, to enable DMARC records for three domains, perform either of the following actions:\n\n* Use the `domain` parameter three times.\n* Use the `domain`, `domain-1`, and `domain-2` parameters.\n\nIf you do not include this argument, the system applies the DMARC record to all the user's domains.\n\nYou cannot use this function to edit temporary domains' DMARC records.",
            "examples": {
              "multiple": {
                "summary": "Enable multiple domains' DMARC records.",
                "value": "domain-1=example1.com domain-2=example2.com domain-3=example3.com"
              },
              "multiple-alternative": {
                "summary": "Enable multiple domains' DMARC records.",
                "value": "domain=example1.com domain=example2.com domain=example3.com"
              },
              "single": {
                "summary": "Enable a single domain's DMARC records.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "apply_dmarc",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EmailAuth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array that contains information about the DMARC records applied to domains.",
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The domain for which the DMARC record was applied.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "msg": {
                                "description": "The domain's DMARC record status message.",
                                "example": "[ADD:TXT@_dmarc.example.com:v=DMARC1; p=reject;]",
                                "type": "string"
                              },
                              "status": {
                                "description": "Whether the system applied a DMARC record to the domain.\n* `1` - Applied.\n* `0` - The system did **not** apply a DMARC record.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Apply DMARC records to domains.",
        "tags": [
          "EmailAuth",
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  apply_dmarc \\\n  domain='example.com' \\\n  policy='v=DMARC1; p=reject;'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/apply_dmarc?domain=example.com&policy='v=DMARC1; p=reject;'"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_apply_dmarc.live.pl and put this code into that file.\n# 5) In your browser log in to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_apply_dmarc.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/apply_dmarc/,\n    {\n        'domain' => 'example.com',\n        'policy' => 'v=DMARC1; p=reject;'\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html-printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_apply_dmarc.live.php and put this code into that file.\n// 5) In your browser log in to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_apply_dmarc.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'apply_dmarc',\n    array (\n        'domain' => 'example.com',\n        'policy' => 'v=DMARC1; p=reject;'\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "124"
      }
    },
    "/EmailAuth/disable_dkim": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function removes the DomainKeys Identified Mail (DKIM) records on the DNS server for one or more domains.",
        "operationId": "EmailAuth-disable_dkim",
        "parameters": [
          {
            "description": "The domain for which to remove DKIM records on the DNS server.\n\n**Note:**\n\nTo remove multiple domain DKIM records, duplicate the parameter name. For example, use the `domain=example.com`, `domain=example2.com`, and `domain=example3.com` parameters.",
            "examples": {
              "multiple": {
                "summary": "Multiple domains.",
                "value": "domain=example.com&domain=example2.com&domain=example.com"
              },
              "single": {
                "summary": "A single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disable_dkim",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EmailAuth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that contain information about the removal of a domain's DKIM record on the DNS server.",
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The domain for which the system removed the DKIM record.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "msg": {
                                "description": "Information about the removed DKIM record.",
                                "example": "[REMOVE:TXT@default._domainkey:v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiLMNOpQDw5nw4NP1RsWXlfmiMzByDfOT16QCZO/xJtrPZKskZF8/sU0zWGTqKUOErlyJfoJzMDUv3/zzjGswc2nEmYqxxoQZaBkN4QaS6MvJQxysAr+sK8C248/r9zMperQdhJedUVejtpFQHJwgqpHy1tQMxY37L7sQjdxmQ5WnQ1acXiwIDAQAB\\;]",
                                "type": "string"
                              },
                              "status": {
                                "description": "Whether the system removed the domain's DKIM record on the DNS server.\n* `1` - The system removed the domain's DKIM record.\n* `0` - The system did **not** remove the domain's DKIM record.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove domains' DKIM records",
        "tags": [
          "EmailAuth",
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  disable_dkim \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/disable_dkim?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_disable_dkim.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_disable_dkim.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/disable_dkim/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_disable_dkim.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_disable_dkim.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'disable_dkim',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/EmailAuth/enable_dkim": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables DomainKeys Identified Mail (DKIM) records on the DNS server for one or more domains.\n\n**Note:**\n\nIf a DKIM record does **not** exist on the server, this function will install a new DKIM record.",
        "operationId": "EmailAuth-enable_dkim",
        "parameters": [
          {
            "description": "The domain for which to enable DKIM records on the DNS server.\n\n**Note:**\n\nTo enable multiple domain DKIM records, duplicate or increment the parameter. For example, to perform this for three domains, you could:\n\n* Use the `domain` parameter multiple times.\n* Use the `domain`, `domain-1`, and `domain-2` parameters.",
            "examples": {
              "multiple": {
                "summary": "Enable multiple domains' DKIM records.",
                "value": "domain-1=example1.com domain-2=example2.com domain-3=example3.com"
              },
              "multiple-alternative": {
                "summary": "Enable multiple domains' DKIM records.",
                "value": "domain=example1.com domain=example2.com domain=example3.com"
              },
              "single": {
                "summary": "Enable a single domain's DKIM records.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "enable_dkim",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EmailAuth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array that contains information about the enabled state of a domain's DKIM records on the DNS server.",
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The domain for which the system enabled the DKIM record.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "msg": {
                                "description": "The domain's DKIM record status message.",
                                "example": "[no changes needed]",
                                "type": "string"
                              },
                              "status": {
                                "description": "Whether the system enabled the domain's DKIM record on the DNS server.\n* `1` - Enabled.\n* `0` - The system did **not** enable the domain's DKIM record.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable domains' DKIM records",
        "tags": [
          "EmailAuth",
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  enable_dkim \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/enable_dkim?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_enable_dkim.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_enable_dkim.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/enable_dkim/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_enable_dkim.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_enable_dkim.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'enable_dkim',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/EmailAuth/ensure_dkim_keys_exist": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function confirms the validity of a DomainKeys Identified Mail (DKIM) key for one or more domains.\n\n**Notes:**\n\n* If an existing DKIM key does **not** meet the server's security requirements, the system replaces the existing DKIM key.\n* If no DKIM key exists, the system creates a new key for the domain.",
        "operationId": "EmailAuth-ensure_dkim_keys_exist",
        "parameters": [
          {
            "description": "The domain for which to confirm a valid DKIM key exists.\n\n**Note:**\n\n To check the DKIM key validity for multiple domains, duplicate the parameter name. For example, use the `domain=example.com`, `domain=example2.com`, and `domain=example3.com` parameters.",
            "examples": {
              "multiple": {
                "summary": "Multiple domains.",
                "value": "domain=example.com&domain=example2.com&domain=example3.com"
              },
              "single": {
                "summary": "A single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "ensure_dkim_keys_exist",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EmailAuth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that contains information about the domain's DKIM key validity.",
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The domain for which the system confirmed that a valid DKIM key exists.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "msg": {
                                "description": "The domain's DKIM key status message.",
                                "example": "created new key",
                                "type": "string"
                              },
                              "status": {
                                "description": "Whether the system verified that the domain's DKIM key exists.\n* `1` - The system verified the existence of the domain's DKIM key.\n* `0` - The system did **not** verify the existence of the domain's DKIM key.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Validate domains' DKIM private keys",
        "tags": [
          "EmailAuth",
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  ensure_dkim_keys_exist \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/ensure_dkim_keys_exist?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_ensure_dkim_keys_exist.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_ensure_dkim_keys_exist.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/ensure_dkim_keys_exist/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_ensure_dkim_keys_exist.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_ensure_dkim_keys_exist.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'ensure_dkim_keys_exist',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/EmailAuth/fetch_dkim_private_keys": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function returns a domain's installed DKIM private key in [Privacy-Enhanced Mail (PEM)](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) format.\n\n**Warning:**\n\nWe **strongly** recommend that you protect your private key. If others obtain your private DKIM key, they could sign emails and impersonate you as a sender.",
        "operationId": "EmailAuth-fetch_dkim_private_keys",
        "parameters": [
          {
            "description": "The domain for which to retrieve the installed DKIM private key.\n\n**Note:**\n\nTo retrieve multiple domain DKIM keys, duplicate the parameter name. For example, use the `domain=example.com`, `domain=example2.com`, and `domain=example3.com` parameters.",
            "examples": {
              "multiple": {
                "summary": "Multiple domains.",
                "value": "domain=example.com&domain=example2.com&domain=example3.com"
              },
              "single": {
                "summary": "A single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fetch_dkim_private_keys",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EmailAuth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that contains information about the domain's DKIM private key.",
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The queried domain.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "pem": {
                                "description": "The domain's DKIM private key, in PEM format.",
                                "example": "-----BEGIN RSA PRIVATE KEY-----\nMIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G\nA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2VydGlmaWNhdGUgYXV0aG9y\naXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdudVRMUyBjZXJ0aWZpY2F0\nZSBhdXRob3JpdHkwHhcNMTEwNTIzMjAzODIxWhcNMTIxMjIyMDc0MTUxWjB9MQsw\nCQYDVQQGEwJCRTEPMA0GA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2Vy\ndGlmaWNhdGUgYXV0aG9yaXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdu\ndVRMUyBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkwWTATBgcqhkjOPQIBBggqhkjOPQMB\nBwNCAARS2I0jiuNn14Y2sSALCX3IybqiIJUvxUpj+oNfzngvj/Niyv2394BWnW4X\nuQ4RTEiywK87WRcWMGgJB5kX/t2no0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1Ud\nDwEB/wQFAwMHBgAwHQYDVR0OBBYEFPC0gf6YEr+1KLlkQAPLzB9mTigDMAoGCCqG\nSM49BAMCA0gAMEUCIDGuwD1KPyG+hRf88MeyMQcqOFZD0TbVleF+UsAGQ4enAiEA\nl4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo==\n-----END RSA PRIVATE KEY-----\n",
                                "format": "pem-private-key",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return domains' DKIM private keys",
        "tags": [
          "EmailAuth",
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  fetch_dkim_private_keys \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/fetch_dkim_private_keys?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_fetch_dkim_private_keys.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_fetch_dkim_private_keys.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/fetch_dkim_private_keys/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_fetch_dkim_private_keys.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_fetch_dkim_private_keys.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'fetch_dkim_private_keys',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/EmailAuth/install_dkim_private_keys": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function installs existing keys for use in a DomainKeys Identified Mail (DKIM) record. This is useful if you do not want the system to generate keys for DKIM records.\n\n**Note:**\n\n* This function does **not** update the local DNS server's records.\n* If the local DNS server is authoritative for the domain's DNS records, use the UAPI `EmailAuth::enable_dkim` function to update the local DNS server's DNS records.\n  * We recommend that you use the UAPI `EmailAuth::install_dkim_private_keys` and `EmailAuth::enable_dkim functions` in a batch UAPI call.",
        "operationId": "EmailAuth-install_dkim_private_keys",
        "parameters": [
          {
            "description": "The domain for which to install a DKIM private key on the local server.\n\n**Note:**\n\nTo install multiple RSA private keys for multiple domains, duplicate the parameter name. For example, use the `domain=example.com`, `domain=example2.com`, and `domain=example3.com` parameters.",
            "examples": {
              "multiple": {
                "summary": "Multiple domains.",
                "value": "domain=example&domain=example2.com&domain=example3.com"
              },
              "single": {
                "summary": "A single domain.",
                "value": "example"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "An RSA key in [Privacy-Enhanced Mail (PEM)](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) format.\n\n**Note:**\n\nYou **must** provide this parameter for each `domain` parameter.",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "example": "-----BEGIN%20RSA%20PRIVATE%20KEY-----%0aAAAAB3NzaC1yc2EAAAABIwAAAQEA5kSivOqhs0U9ZMN20nxFe27QZ3t0lT2zbH7OSXylKd%0a1rjAjYXGnSXC9j2uaZlemHlptBKVziMJC86ha7Hcj6dVOVrDQ6vF4q34bOCjtKLphQ0IjB%0azVIvqILH9eLJdRaOrS34CmgmPaisrCk5wKVlakygvUfcj3HzaTKS6THyZDGx5shdTpa9lb%0ay8tpOD3JceV7ay4w8r0DipoKPC0OLpvS4EABEeMo9sx8zQEaKv03XygjNCCYtFvxlQQIRG%0alVoL7mPaHSaL3anI05RpNbm/PS+9BhZg+BqNjU4ofHBbfkXk5MiN6M7ieR4Sk5BquccboG%0aF13U5slNgmCEekdt0amw%0a-----END%20RSA%20PRIVATE%20KEY-----%0a",
              "format": "pem-private-key",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "install_dkim_private_keys",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EmailAuth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that contains information about the DKIM private key installation to the local server.",
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The DKIM private key's associated domain.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "msg": {
                                "description": "The DKIM private key's installation status message.",
                                "example": "[ADD:TXT@default._domainkey:v=DKIM1; k=rsa; p=AAAAB3NzaC1yc2EAAAABIwAAAQEA5kSivOqhs0U9ZMN20nxFe27QZ3t0lT2zbH7OSXylKd1rjAjYXGnSXC9j2uaZlemHlptBKVziMJC86ha7Hcj6dVOVrDQ6vF4q34bOCjtKLphQ0IjBzVIvqILH9eLJdRaOrS34CmgmPaisrCk5wKVlakygvUfcj3HzaTKS6THyZDGx5shdTpa9lby8tpOD3JceV7ay4w8r0DipoKPC0OLpvS4EABEeMo9sx8zQEaKv03XygjNCCYtFvxlQQIRGlVoL7mPaHSaL3anI05RpNbm/PS+9BhZg+BqNjU4ofHBbfkXk5MiN6M7ieR4Sk5BquccboGF13U5slNgmCEekdt0amw;]",
                                "type": "string"
                              },
                              "status": {
                                "description": "Whether the system installed the DKIM private key to the local server.\n* `1` - The system installed the DKIM private key.\n* `0` - The system **cannot** install the DKIM private key.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add domains' DKIM record keys",
        "tags": [
          "EmailAuth",
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  install_dkim_private_keys \\\n  domain='example' \\\n  key='-----BEGIN%20RSA%20PRIVATE%20KEY-----%0aAAAAB3NzaC1yc2EAAAABIwAAAQEA5kSivOqhs0U9ZMN20nxFe27QZ3t0lT2zbH7OSXylKd%0a1rjAjYXGnSXC9j2uaZlemHlptBKVziMJC86ha7Hcj6dVOVrDQ6vF4q34bOCjtKLphQ0IjB%0azVIvqILH9eLJdRaOrS34CmgmPaisrCk5wKVlakygvUfcj3HzaTKS6THyZDGx5shdTpa9lb%0ay8tpOD3JceV7ay4w8r0DipoKPC0OLpvS4EABEeMo9sx8zQEaKv03XygjNCCYtFvxlQQIRG%0alVoL7mPaHSaL3anI05RpNbm/PS+9BhZg+BqNjU4ofHBbfkXk5MiN6M7ieR4Sk5BquccboG%0aF13U5slNgmCEekdt0amw%0a-----END%20RSA%20PRIVATE%20KEY-----%0a'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/install_dkim_private_keys?domain=example&key=-----BEGIN%2520RSA%2520PRIVATE%2520KEY-----%250aAAAAB3NzaC1yc2EAAAABIwAAAQEA5kSivOqhs0U9ZMN20nxFe27QZ3t0lT2zbH7OSXylKd%250a1rjAjYXGnSXC9j2uaZlemHlptBKVziMJC86ha7Hcj6dVOVrDQ6vF4q34bOCjtKLphQ0IjB%250azVIvqILH9eLJdRaOrS34CmgmPaisrCk5wKVlakygvUfcj3HzaTKS6THyZDGx5shdTpa9lb%250ay8tpOD3JceV7ay4w8r0DipoKPC0OLpvS4EABEeMo9sx8zQEaKv03XygjNCCYtFvxlQQIRG%250alVoL7mPaHSaL3anI05RpNbm%2fPS%2b9BhZg%2bBqNjU4ofHBbfkXk5MiN6M7ieR4Sk5BquccboG%250aF13U5slNgmCEekdt0amw%250a-----END%2520RSA%2520PRIVATE%2520KEY-----%250a"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_install_dkim_private_keys.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_install_dkim_private_keys.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/install_dkim_private_keys/,\n    {\n        'domain' => 'example',\n        'key' => '-----BEGIN%20RSA%20PRIVATE%20KEY-----%0aAAAAB3NzaC1yc2EAAAABIwAAAQEA5kSivOqhs0U9ZMN20nxFe27QZ3t0lT2zbH7OSXylKd%0a1rjAjYXGnSXC9j2uaZlemHlptBKVziMJC86ha7Hcj6dVOVrDQ6vF4q34bOCjtKLphQ0IjB%0azVIvqILH9eLJdRaOrS34CmgmPaisrCk5wKVlakygvUfcj3HzaTKS6THyZDGx5shdTpa9lb%0ay8tpOD3JceV7ay4w8r0DipoKPC0OLpvS4EABEeMo9sx8zQEaKv03XygjNCCYtFvxlQQIRG%0alVoL7mPaHSaL3anI05RpNbm/PS+9BhZg+BqNjU4ofHBbfkXk5MiN6M7ieR4Sk5BquccboG%0aF13U5slNgmCEekdt0amw%0a-----END%20RSA%20PRIVATE%20KEY-----%0a',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_install_dkim_private_keys.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_install_dkim_private_keys.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'install_dkim_private_keys',\n    array (\n        'domain' => 'example',\n        'key' => '-----BEGIN%20RSA%20PRIVATE%20KEY-----%0aAAAAB3NzaC1yc2EAAAABIwAAAQEA5kSivOqhs0U9ZMN20nxFe27QZ3t0lT2zbH7OSXylKd%0a1rjAjYXGnSXC9j2uaZlemHlptBKVziMJC86ha7Hcj6dVOVrDQ6vF4q34bOCjtKLphQ0IjB%0azVIvqILH9eLJdRaOrS34CmgmPaisrCk5wKVlakygvUfcj3HzaTKS6THyZDGx5shdTpa9lb%0ay8tpOD3JceV7ay4w8r0DipoKPC0OLpvS4EABEeMo9sx8zQEaKv03XygjNCCYtFvxlQQIRG%0alVoL7mPaHSaL3anI05RpNbm/PS+9BhZg+BqNjU4ofHBbfkXk5MiN6M7ieR4Sk5BquccboG%0aF13U5slNgmCEekdt0amw%0a-----END%20RSA%20PRIVATE%20KEY-----%0a',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/EmailAuth/install_spf_records": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function installs a Sender Policy Framework (SPF) record for a domain on the DNS server.",
        "operationId": "EmailAuth-install_spf_records",
        "parameters": [
          {
            "description": "The domain for which to install an SPF record on the DNS server.\n\n**Note:**\n\nTo install multiple SPF records, duplicate the parameter name. For example, use the `domain=example.com`, `domain=example2.com`, and `domain=example3.com` parameters.",
            "examples": {
              "multiple": {
                "summary": "Multiple domains.",
                "value": "domain=example.com&domain=example2.com&domain=example3.com"
              },
              "single": {
                "summary": "A single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "An SPF record.\n\n**Note:**\n\nYou **must** provide this parameter for each `domain` parameter.",
            "in": "query",
            "name": "record",
            "required": true,
            "schema": {
              "example": "\"v=spf1 ip4:10.0.0.1 %2Ba %2Bmx %2Bip4:10.0.0.2 %2Bip4:10.0.0.3 -all\"",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "install_spf_records",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EmailAuth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that contains information about the domain's SPF record installation to the DNS server.",
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The SPF record's associated domain on the DNS server.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "msg": {
                                "description": "The SPF record's installation status to the DNS server.",
                                "example": "[ADD:TXT@example.com.:v=spf1 ip4:10.0.0.1 %2Ba %2Bmx %2Bip4:10.0.0.2 %2Bip4:10.0.0.3 -all]",
                                "type": "string"
                              },
                              "status": {
                                "description": "Whether the system installed the SPF record to the DNS server.\n- `1` - The system installed the SPF record on the DNS server.\n- `0` - The system **cannot** install the SPF record on the DNS server.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success.\n- 0 - Failed. Check the `errors`  field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add domains' SPF records",
        "tags": [
          "EmailAuth",
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  install_spf_records \\\n  domain='example.com' \\\n  record='\"v=spf1 ip4:10.0.0.1 %2Ba %2Bmx %2Bip4:10.0.0.2 %2Bip4:10.0.0.3 -all\"'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/install_spf_records?domain=example.com&record=%22v%3dspf1%20ip4%3a10.0.0.1%20%252Ba%20%252Bmx%20%252Bip4%3a10.0.0.2%20%252Bip4%3a10.0.0.3%20-all%22"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_install_spf_records.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_install_spf_records.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/install_spf_records/,\n    {\n        'domain' => 'example.com',\n        'record' => '\"v=spf1 ip4:10.0.0.1 %2Ba %2Bmx %2Bip4:10.0.0.2 %2Bip4:10.0.0.3 -all\"',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_install_spf_records.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_install_spf_records.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'install_spf_records',\n    array (\n        'domain' => 'example.com',\n        'record' => '\"v=spf1 ip4:10.0.0.1 %2Ba %2Bmx %2Bip4:10.0.0.2 %2Bip4:10.0.0.3 -all\"',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/EmailAuth/remove_dmarc": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function removes the DMARC record for domains.",
        "operationId": "EmailAuth-remove_dmarc",
        "parameters": [
          {
            "description": "The domain from which to remove the DMARC record.\n\n**Note:**\n\nIf you do not include this argument, the system will remove **all** DMARC records from **all** domains owned by the user.\n\nTo remove multiple domain DMARC records, duplicate the parameter name. For example, use the `domain=example.com`, `domain=example2.com`, and `domain=example3.com` parameters.\n\nYou **cannot** remove DMARC records on temporary domains.",
            "examples": {
              "multiple": {
                "summary": "Multiple domains.",
                "value": "domain=example.com&domain=example2.com&domain=example.com"
              },
              "single": {
                "summary": "A single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "remove_dmarc",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EmailAuth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that contain information about the removed DMARC records.",
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The domain for which the DMARC record was removed.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "msg": {
                                "description": "Information about the removed DMARC record.",
                                "example": "[REMOVE:TXT@_dmarc.example.com:v=DMARC1; p=reject;]",
                                "type": "string"
                              },
                              "status": {
                                "description": "Whether the system removed the domain's DMARC record.\n* `1` - The system removed the domain's DMARC record.\n* `0` - The system did **not** remove the domain's DMARC record.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove DMARC record from domain(s)",
        "tags": [
          "EmailAuth",
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  remove_dmarc \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/remove_dmarc?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_remove_dmarc.live.pl and put this code into that file.\n# 5) In your browser log in to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_remove_dmarc.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/remove_dmarc/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html-printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_remove_dmarc.live.php and put this code into that file.\n// 5) In your browser log in to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_remove_dmarc.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'remove_dmarc',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html-printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "124"
      }
    },
    "/EmailAuth/validate_current_dkims": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves and checks the DomainKeys Identified Mail\n(DKIM) records for one or more domains.",
        "operationId": "EmailAuth-validate_current_dkims",
        "parameters": [
          {
            "description": "The domain for which to check the DKIM records.",
            "examples": {
              "multiple": {
                "summary": "Check DKIM records for a multiple domains.",
                "value": "domain=example.com,domain=another.com,domain=yetanother.com\ndomain=example.com,domain-1=another.com,domain-2=yetanother.com"
              },
              "single": {
                "summary": "Check DKIM records for a single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "validate_current_dkims",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EmailAuth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array that contains information about the\ndomain's DKIM records. ",
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The domain that the function used to check\nthe DKIM record. This will be the value of\nthe domain parameter with a `default._domainkey` prefix.",
                                "example": "default._domainkey.example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "error": {
                                "description": "A message that details the reason why the DNS lookup failed.\n\n**Note:**\n\nThe function only returns this value when the `state` returned\nis the `ERROR` value.",
                                "example": "(XID 4krw35) DNS returned SERVFAIL (code 2)\nin response to the systems query for default._domainkey.example2.coms\nTXT records.",
                                "type": "string"
                              },
                              "expected": {
                                "description": "The DKIM record's contents.",
                                "example": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDw5nw4NP1RsWXlfmiMzByDfOT16QCZO\\/xJtrPZKskZF8\\/sU0zWGTqKUOErlyJfoJzMDUv3\\/zzjGswc2nEmYqxxoQZaBkN4QaS6MvJQxysAr+sK8C248\\/r9zMperQdhJedUVejtpFQHJwgqpHy1tQMxY37L7sQjdxmQ5WnQ1acXiwIDAQAB",
                                "type": "string"
                              },
                              "records": {
                                "description": "The domain's DNS DKIM TXT records.\n\n**Important:**\n\nThis function may fail to preserve whitespace in DKIM records.",
                                "items": {
                                  "properties": {
                                    "current": {
                                      "description": "The domain's DKIM TXT record data contents.\n\n**Important:**\n\n This function may fail to preserve whitespace in DKIM records.",
                                      "example": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDw5nw4NP1RsWXlfmiMzByDfOT16QCZO\\/xJtrPZKskZF8\\/sU0zWGTqKUOErlyJfoJzMDUv3\\/zzjGswc2nEmYqxxoQZaBkN4QaS6MvJQxysAr+sK8C248\\/r9zMperQdhJedUVejtpFQHJwgqpHy1tQMxY37L7sQjdxmQ5WnQ1acXiwIDAQAB",
                                      "type": "string"
                                    },
                                    "reason": {
                                      "description": "The reason why the DKIM TXT record is not correct, if one exists.\n\n**Note:**\n\nThis function **only** returns this value when the `state` value is `PERMFAIL`.",
                                      "example": "example.com: The DKIM version must be \"DKIM1\".",
                                      "type": "string"
                                    },
                                    "state": {
                                      "description": "The DKIM TXT record's status:\n* `VALID` - The DKIM TXT record matches the local server's public key.\n* `MISMATCH` - The DKIM TXT record does not match the local server's public key.\n* `PERMFAIL` - Multiple DKIM TXT records for the domain exist or a misconfigured DKIM TXT record exists.",
                                      "enum": [
                                        "VALID",
                                        "MISMATCH",
                                        "PERMFAIL"
                                      ],
                                      "example": "VALID",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "state": {
                                "description": "The domain's DKIM record status.\nPossible values:\n\n* `VALID` The DKIM record is valid.\n* `MALFORMED` A single DKIM record exists, but the record does not match the expected DKIM specifications.\n* `MISMATCH` A DKIM record exists, but it does not match the expected public key.\n* `MISSING` No DKIM record exists for the domain.\n* `MULTIPLE` Multiple DKIM records exist.\n* `NOPUB` No key exists on the local server for the domain.\n* `ERROR` The record's DNS lookup failed. The function returns the reason in the error return.",
                                "enum": [
                                  "VALID",
                                  "MALFORMED",
                                  "MISMATCH",
                                  "MISSING",
                                  "MULTIPLE",
                                  "NOPUB",
                                  "ERROR"
                                ],
                                "example": "VALID",
                                "type": "string"
                              },
                              "validity_cache_update": {
                                "description": "The result of the DKIM record's validity cache update operation:\n* `set` The domain is invalid but passed its validity check. The validity check now passes the domain as valid.\n* `unset` The domain is invalid and did not pass its validity check. The validity check does not pass the domain as valid.\n* `valid` The domain is valid and passed its validity check. There are no changes required.\n* `invalid` The domain is invalid and failed its validity check. There are no changes required.\n* `none` The domain is invalid, but the system will not take further action.\n* `error` The domain's validity check operation failed.",
                                "enum": [
                                  "set",
                                  "unset",
                                  "valid",
                                  "invalid",
                                  "none",
                                  "error"
                                ],
                                "example": "valid",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Validate domains' DKIM records",
        "tags": [
          "EmailAuth",
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  validate_current_dkims \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/validate_current_dkims?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_validate_current_dkims.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_dkims.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/validate_current_dkims/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_validate_current_dkims.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_dkims.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'validate_current_dkims',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/EmailAuth/validate_current_dmarcs": {
      "get": {
        "x-readonly": true,
        "description": "This function checks the validity of the current DMARC record for one or more domains.",
        "operationId": "EmailAuth-validate_current_dmarcs",
        "parameters": [
          {
            "description": "The domain for which to check the DMARC record.\n\n**Note:**\n\nIf you do not include this argument, the system will validate DMARC records for all domains owned by the user.",
            "examples": {
              "multiple": {
                "summary": "Check DMARC records for multiple domains.",
                "value": "domain=example.com,domain=another.com,domain=yetanother.com"
              },
              "single": {
                "summary": "Check DMARC records for a single domain.",
                "value": "domain=example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "validate_current_dmarcs",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EmailAuth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array that contains information about the\ndomain's DMARC records. ",
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The target domain of the DMARC policy.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "error": {
                                "description": "A message that details either why the DNS lookup failed, or if there is a SPF/DKIM failure.\n\n**Note:**\n\nThis will be set to `MALFORMED` if there is a syntax issue with this domain's SPF and DKIM records.",
                                "example": "(XID 4krw35) DNS returned SERVFAIL (code 2)\nin response to the system's query for _dmarc.example.com\nTXT records.",
                                "type": "string"
                              },
                              "record": {
                                "description": "The domain's DMARC TXT record.",
                                "example": "v=DMARC1; p=none;",
                                "type": "string"
                              },
                              "state": {
                                "description": "The domain's DMARC record status.\nPossible values:\n\n* `VALID` - A DMARC policy is set for the domain, along with valid SPF and DKIM records for the domain and IP address.\n* `MALFORMED` - A DMARC record is set, but it did not pass a syntax check.\n* `DKIM_SPF_ERROR` - A DMARC record exists; however, both the DKIM and SPF records for this domain did not pass validation.\n* `DKIM_ERROR` - A DMARC record exists; however, the DKIM record for this domain did not pass validation.\n* `SPF_ERROR` - A DMARC record exists; however, the SPF record for this domain did not pass validation.\n* `MISSING` - No DMARC record exists for the domain at the DMARC subdomain location.\n* `DNS_ERROR` - A DNS error prevented validation of the DMARC record.",
                                "enum": [
                                  "VALID",
                                  "MALFORMED",
                                  "DKIM_SPF_ERROR",
                                  "DKIM_ERROR",
                                  "SPF_ERROR",
                                  "MISSING",
                                  "DNS_ERROR"
                                ],
                                "example": "VALID",
                                "type": "string"
                              },
                              "subdomain": {
                                "description": "The domain that the function used to check\nthe DMARC record. This will be the value of\nthe `domain` parameter with a `_dmarc` prefix.",
                                "example": "_dmarc.example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "suggested": {
                                "description": "The recommended DMARC policy.",
                                "example": "v=DMARC1; p=none;",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Validate domains' DMARC records",
        "tags": [
          "EmailAuth",
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  validate_current_dmarcs \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/validate_current_dmarcs?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_validate_current_dmarcs.live.pl and put this code into that file.\n# 5) In your browser log in to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_dmarcs.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/validate_current_dmarcs/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_validate_current_dmarcs.live.php and put this code into that file.\n// 5) In your browser log in to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_dmarcs.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'validate_current_dmarcs',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 124"
      }
    },
    "/EmailAuth/validate_current_ptrs": {
      "get": {
        "x-readonly": true,
        "description": "This function validates the pointer records (PTR) for IPv4 and\nIPv6 addresses that the account's domains send mail from. It retrieves the\nPTR records for each IP address and determines which of the domain's IP addresses\nsend mail. It then validates the PTR records for each IP address and validates\nthe A or AAAA records pointing to each domain. This function also ensures\nthat at least one of that domain's A or AAAA records points back to the IP\naddress.",
        "operationId": "EmailAuth-validate_current_ptrs",
        "parameters": [
          {
            "description": "The domain for which to validate the PTR records.",
            "examples": {
              "multiple": {
                "summary": "Check PTR records for a multiple domains.",
                "value": "`domain`=example.com,`domain`=another.com,`domain`=yetanother.com\n`domain`=example.com,`domain-1`=another.com,`domain-2`=yetanother.com"
              },
              "single": {
                "summary": "Check PTR records for a single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "validate_current_ptrs",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EmailAuth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array that contains information about the account's PTR records.",
                          "items": {
                            "properties": {
                              "arpa_domain": {
                                "description": "The IP address used to perform a reverse DNS (rDNS) lookup.\nFor more information about rDNS, read our\n[How to Configure Reverse DNS for BIND in WHM](https://go.cpanel.net/HowtoConfigureReverseDNSforBINDinWHM)\ndocumentation.\nA valid reversed IP address appended with one of the following:\n* in-addr.arpa - An IPv4 address.\n* ip6.arpa - An IPv6 address.\n\nFor information about .arpa domains, read Wikipedia's\n[Reverse DNS lookup](https://en.wikipedia.org/wiki/Reverse_DNS_lookup)\narticle.\n\n**Note:**\n\nThe function does not return this value for a domain with an invalid IP address.",
                                "example": "1.0.0.10.in-addr.arpa",
                                "type": "string"
                              },
                              "domain": {
                                "description": "The queried domain.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "error": {
                                "description": "A mmessage that details the reason why the domain's IP address validation failed.\n\n**Note:**\n\nThe function only returns this value when the `state` returned is\nthe `ERROR` value.",
                                "example": "1.1.1.1.1 is not a valid IP address.",
                                "type": "string"
                              },
                              "helo": {
                                "description": "The hostname that the domain uses to identify\nitself to remote SMTP servers. A valid hostname.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "ip_address": {
                                "description": "The IP address.\n\n**Note:**\n\nThe function does **not** return this value for a domain with an invalid IP address.",
                                "example": "10.0.0.1",
                                "type": "string"
                              },
                              "ip_version": {
                                "description": "The IP version number.\n* 4\n* 6\n\n**Note:**\n\nThe function does **not** return this value for a domain with an invalid IP address.",
                                "enum": [
                                  4,
                                  6
                                ],
                                "example": 4,
                                "type": "integer"
                              },
                              "nameservers": {
                                "description": "The authoritative nameservers for the domain's PTR record.",
                                "items": {
                                  "example": "ns1.example.com",
                                  "format": "domain",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "ptr_records": {
                                "description": "The domain's PTR records.\n\n**Note:**\n\nThe function does **not** return this for a domain with an invalid IP address.",
                                "items": {
                                  "properties": {
                                    "domain": {
                                      "description": "The fully-qualified domain name (FQDN)\nthat a PTR record points to.",
                                      "example": "example.com",
                                      "format": "domain",
                                      "type": "string"
                                    },
                                    "forward_records": {
                                      "description": "A list of IP addresses that the domain\nresolves to for A (IPv4) and AAAA (IPv6) records.",
                                      "items": {
                                        "example": "10.0.0.1",
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "state": {
                                      "description": "The state of the domain's PTR record.\n* `VALID` - The PTR record is valid.\n* `MISSING_FWD` - The PTR points to a domain without an A or AAAA record.\n* `FWD_MISMATCH` - The PTR record points to a domain without an A or AAAA record that points back to the IP address.",
                                      "enum": [
                                        "VALID",
                                        "MISSING_FWD",
                                        "FWD_MISMATCH"
                                      ],
                                      "example": "VALID",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "state": {
                                "description": "Whether the PTR records are valid for the domain.\n* `ERROR` - The domain's IP address is invalid. The function returns the reason in the error return.\n* `IP_IS_PRIVATE` - The IP address exists within a range of private IP addresses.\n* `VALID` - The PTR record is valid.\n* `MISSING_PTR` - No PTR records exist for the IP address.\n* `PTR_MISMATCH` - One or more PTR records point to a domain that does not point back to the correct IP address.\n\n**Note:**\n\n* DNS does not define PTR records for private IP addresses.\n* The function only returns a VALID response if all of an IP address's PTR records are valid.",
                                "enum": [
                                  "ERROR",
                                  "IP_IS_PRIVATE",
                                  "VALID",
                                  "MISSING_PTR",
                                  "PTR_MISMATCH"
                                ],
                                "example": "VALID",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Validate domains' PTR records",
        "tags": [
          "EmailAuth",
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  validate_current_ptrs \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/validate_current_ptrs?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_validate_current_ptrs.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_ptrs.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/validate_current_ptrs/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_validate_current_ptrs.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_ptrs.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'validate_current_ptrs',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/EmailAuth/validate_current_spfs": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the the Sender Policy Framework (SPF) records\nfor one or more domains.",
        "operationId": "EmailAuth-validate_current_spfs",
        "parameters": [
          {
            "description": "The domain for which to check the `SPF` records.",
            "examples": {
              "multiple": {
                "summary": "Check `SPF` records for a multiple domains.",
                "value": "`domain`=example.com,`domain`=another.com,`domain`=yetanother.com\n`domain`=example.com,`domain-1`=another.com,`domain-2`=yetanother.com"
              },
              "single": {
                "summary": "Check `SPF` records for a single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "validate_current_spfs",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "EmailAuth",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "A list of information about a domain's SPF records.",
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The queried domain.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "error": {
                                "description": "A message that details the reason why the DNS lookup failed.\n\n**Note:**\n\n The function **only** returns this value when the `state` return is the `ERROR` value.",
                                "example": "(XID rm8h9f) DNS returned SERVFAIL (code 2)\nin response to the systems query for example2.coms\nTXT records.",
                                "type": "string"
                              },
                              "expected": {
                                "description": "The SPF record for the domain in the DNS.",
                                "example": "ip6:0:0:0:0:0:ffff:c0a8:101",
                                "type": "string"
                              },
                              "ip_address": {
                                "description": "The domain's IP address.",
                                "example": "0:0:0:0:0:ffff:c0a8:101",
                                "type": "string"
                              },
                              "ip_version": {
                                "description": "The IP address version.\n* `4`\n* `6`",
                                "enum": [
                                  4,
                                  6
                                ],
                                "example": 6,
                                "type": "integer"
                              },
                              "records": {
                                "description": "The SPF records of the domain's DNS.",
                                "items": {
                                  "properties": {
                                    "current": {
                                      "description": "The SPF record's contents.",
                                      "example": "v=spf1 +a +mx ip6:0:0:0:0:0:ffff:c0a8:101 ~all",
                                      "type": "string"
                                    },
                                    "reason": {
                                      "description": "The reason why the SPF record is **not** correct, if one exists.\n\n**Note:**\n\nIf no errors exist, the function does **not** return this value.",
                                      "example": "'example.com: Sender\nis not authorized by default to use ''example.com''\nin ''helo'' identity, however domain is not\ncurrently prepared for false failures (mechanism\n''~all'' matched)'",
                                      "type": "string"
                                    },
                                    "state": {
                                      "description": "The SPF record's status:\n* `PASS` - The `SPF` record confirms that the `ip_address` value is a valid sender.\n* `NEUTRAL` - The current `SPF` record configuration does not determine the `ip_address` value's validity.\n* `FAIL` - The `SPF` record states that the `ip_address` value is **not** a valid sender.\n* `SOFTFAIL` - The `SPF` record states that the `ip_address` value is **not** a valid sender, but does not `FAIL` state it.\n* `TEMPERROR` - The `SPF` record check resulted in a failure. For example, a network failure.\n* `PERMERROR` - The domain's `SPF` records are **incorrect** and require manual correction.\n\n**Note:**\n\nThese values correspond with [RFC7208 section 2.6](https://tools.ietf.org/html/rfc7208#section-2.6).",
                                      "enum": [
                                        "PASS",
                                        "NEUTRAL",
                                        "FAIL",
                                        "SOFTFAIL",
                                        "TEMPERROR",
                                        "PERMERROR"
                                      ],
                                      "example": "PASS",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "state": {
                                "description": "The SPF record's status:\n* `VALID` - A single `SPF TXT` record exists in the domain's DNS with the correct `ip_address` value or redirect mechanism.\n* `MISMATCHED` - An `SPF TXT` record exists for the domain that does **not** match the `ip_address` value.\n* `MULTIPLE` - Multiple `SPF TXT` records exist in the domain's DNS.\n* `MISSING` - No `SPF TXT` record exists for the domain's DNS.\n* `ERROR` - The record's DNS lookup failed. The function returns the reason in the error return.",
                                "enum": [
                                  "VALID",
                                  "MISMATCHED",
                                  "MULTIPLE",
                                  "MISSING",
                                  "ERROR"
                                ],
                                "example": "VALID",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Validate domains' SPF records",
        "tags": [
          "EmailAuth",
          "Email DNS Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  EmailAuth \\\n  validate_current_spfs \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/EmailAuth/validate_current_spfs?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file EmailAuth_validate_current_spfs.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_spfs.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/EmailAuth/,\n    q/validate_current_spfs/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file EmailAuth_validate_current_spfs.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/EmailAuth_validate_current_spfs.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'EmailAuth',\n    'validate_current_spfs',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/ExternalAuthentication/add_authn_link": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function adds an External Authentication authorization link to an account.",
        "operationId": "ExternalAuthentication-add_authn_link",
        "parameters": [
          {
            "description": "The preferred username of the account on the identity provider.",
            "in": "query",
            "name": "preferred_username",
            "required": true,
            "schema": {
              "example": "Example",
              "type": "string"
            }
          },
          {
            "description": "The name of the identity provider.",
            "in": "query",
            "name": "provider_id",
            "required": true,
            "schema": {
              "example": "google",
              "type": "string"
            }
          },
          {
            "description": "The unique identifier for the user at the identity provider.",
            "in": "query",
            "name": "subject_unique_identifier",
            "required": true,
            "schema": {
              "example": "123456789012345678901",
              "type": "string"
            }
          },
          {
            "description": "The username.",
            "in": "query",
            "name": "username",
            "required": true,
            "schema": {
              "example": "example",
              "format": "username",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_authn_link",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ExternalAuthentication",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add external authentication link",
        "tags": [
          "ExternalAuthentication",
          "External Authentication"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ExternalAuthentication \\\n  add_authn_link \\\n  username='example' \\\n  provider_id='google' \\\n  subject_unique_identifier='123456789012345678901' \\\n  preferred_username='Example'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ExternalAuthentication/add_authn_link?username=example&provider_id=google&subject_unique_identifier=123456789012345678901&preferred_username=Example"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ExternalAuthentication_add_authn_link.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_add_authn_link.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ExternalAuthentication/,\n    q/add_authn_link/,\n    {\n        'username' => 'example',\n        'provider_id' => 'google',\n        'subject_unique_identifier' => '123456789012345678901',\n        'preferred_username' => 'Example',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ExternalAuthentication_add_authn_link.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_add_authn_link.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ExternalAuthentication',\n    'add_authn_link',\n    array (\n        'username' => 'example',\n        'provider_id' => 'google',\n        'subject_unique_identifier' => '123456789012345678901',\n        'preferred_username' => 'Example',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/ExternalAuthentication/configured_modules": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the display information for your server's available and configured external authentication identity provider modules.",
        "operationId": "ExternalAuthentication-configured_modules",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "configured_modules",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ExternalAuthentication",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "color": {
                                "description": "The background color of the button on the cPanel interface.",
                                "example": "00aef0",
                                "format": "RGB",
                                "type": "string"
                              },
                              "display_name": {
                                "description": "The identity provider's friendly name. cPanel & WHM interfaces will display this value.",
                                "example": "cPanel ID",
                                "type": "string"
                              },
                              "documentation_url": {
                                "description": "The public URL of the identity provider's implementation documentation.",
                                "example": "https://go.cpanel.net/OpenIDConnect",
                                "format": "url",
                                "type": "string"
                              },
                              "icon": {
                                "description": "The icon file to display on the button in the cPanel login interface.",
                                "example": "iVBORw0KGgoAAAANSUhEUgAAACMAAAAhCAYAAABTERJSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMTNFRUVGMzIyODUxMUU1OUM1RERGODcwRjIwNTQ4MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMTNFRUVGNDIyODUxMUU1OUM1RERGODcwRjIwNTQ4MCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExM0VFRUYxMjI4NTExRTU5QzVEREY4NzBGMjA1NDgwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExM0VFRUYyMjI4NTExRTU5QzVEREY4NzBGMjA1NDgwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+oa0v2AAAA3VJREFUeNrsWM1uFEcQruqent3Z9Y43DmuD2YT1LoIICSIgEULKC+SaF8gr5JAnyD3XKCcChxxyyhNYiFMU5ZRTzE8UuGCQY8DGeGd3Zqrydc/ajiWjBHCEpWxLPf1T01VfV/d09TesqnRUUuQfN+5tUzMylAsRM9EOPlTJV0V9qWQg3BgLXek4+mUtpxKy+bqhAvIcLxVSlT4FHVAQITegO7Z8vGFpqeW4P+N40Iy434rNR23Hcd3ymV0wL00TNIJH6UsY2syVsrICuTlWGFJyAJlYrtVj7jUi9gZhzPQSS4tJRO+1nF1C/aThoHFfgp7n+zzjZ+GNjUWDB7yHRPYAQQnV8MCMOu04ughvPEbzztV599UHbXvOGe7OwHhsKH3jZdrKiZwhgrtcYs0ilJ6A4ffhytMpZtmAa/3s4OYuQFhg/m75IX1xtm2/XKjbw90zn3Zr19+p81W4dr5mqP0vxslkOx3+Bu6n9jOsROttf02GjlCagpmCmYI5VDD8GuP0tYYdHP72HXq3N4prTcfHEA6ev8ir2OSjLwK0jkvRoRAjNmlkFG1aGAktPxrK6NZq/o3lwh1POPtkIQ4ncqm7Y2lcqua4o4zKKr4h66ggLrSSo2zinfUrnXgPzM9r+c0P51wySE22NhTBNUEQnVGqbuZSrm6LXJhzMkit/JmVdfT/vl1QcXej+H4r91cLyrtNW/ZmrG4AydORytMRyrHXpfJgq5TL70Zy+Vgs97JCnwS5yhOgRD3fAUP+coW8qa+Q4Kxr3/72Il0dFqEtPsuubLctupdflqSyHXBEkzvFq26AfYGS/7b4hg/YDNNPewpmCuZ/DwYn5I/rI7mLY/7ZW2eUy6ujz/0ZBZoSz8a8CB50ohkRqIo57QkZiNhS6mw/qaiKwYHmySXzfwGmorZKw1LGOjb3s7K8r8o/CRXhIPXZU9Sa5Q441aVByz5CoMtXnpVfyyydQ4DtQt4DzXkjhsE+JvzwRxZ4smeToKehHpgtVzxbAuPUwDwR2Oj8XES/rueB5nbqDJCeBJo6xvZmQG8bEQ1mY3Mqifgk+jzb9H3dgzzp6S3603/m2hOv+OwmRDnFTQHLFdaphWAL8h68mpWSbRW08lBoxf8I8IQfohCrEu9VLD1Yqmel/TQOSz5oxfzxrDN2h5TyUfolcqQ+7b8EGACd0Ob6pUnq9QAAAABJRU5ErkJggg==",
                                "format": "base64 image",
                                "type": "string"
                              },
                              "icon_type": {
                                "description": "The icon file's MIME type.",
                                "example": "image/svg+xml",
                                "format": "MIME",
                                "type": "string"
                              },
                              "label": {
                                "description": "The text label of the login icon in the cPanel login interface.",
                                "example": "Log in with a cPanel ID Account",
                                "type": "string"
                              },
                              "link": {
                                "description": "link to the identity provider's configuration for the appropriate service on the system.",
                                "example": "https://hostname.example.com:2083/openid_connect/cpanelid",
                                "format": "url",
                                "type": "string"
                              },
                              "provider_name": {
                                "description": "The identity provider's system name.",
                                "example": "cpanelid",
                                "type": "string"
                              },
                              "textcolor": {
                                "description": "The color of the text label in the cPanel login interface.",
                                "example": "FFFFFF",
                                "format": "RGB",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return server's external authentication providers",
        "tags": [
          "ExternalAuthentication",
          "External Authentication"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ExternalAuthentication \\\n  configured_modules\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ExternalAuthentication/configured_modules"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ExternalAuthentication_configured_modules.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_configured_modules.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ExternalAuthentication/,\n    q/configured_modules/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ExternalAuthentication_configured_modules.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_configured_modules.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ExternalAuthentication',\n    'configured_modules'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/ExternalAuthentication/get_authn_links": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the external authentication links to the current cPanel account.",
        "operationId": "ExternalAuthentication-get_authn_links",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_authn_links",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ExternalAuthentication",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "link_time": {
                                "description": "When the user linked their account to the identity provider.",
                                "example": 1443124604,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "preferred_username": {
                                "description": "The preferred username of the account on the identity provider.",
                                "example": "username@gmail.com",
                                "type": "string"
                              },
                              "provider_id": {
                                "description": "The system's unique key for the identity provider.",
                                "example": "google",
                                "type": "string"
                              },
                              "provider_protocol": {
                                "description": "The identity provider's protocol.",
                                "example": "openid_connect",
                                "type": "string"
                              },
                              "subject_unique_identifier": {
                                "description": "The unique identifier for the user at the identity provider.",
                                "example": 123456789012346,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* 1 — Success\n* 0 — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return external authentication links",
        "tags": [
          "ExternalAuthentication",
          "External Authentication"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ExternalAuthentication \\\n  get_authn_links\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ExternalAuthentication/get_authn_links"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ExternalAuthentication_get_authn_links.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_get_authn_links.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ExternalAuthentication/,\n    q/get_authn_links/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ExternalAuthentication_get_authn_links.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_get_authn_links.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ExternalAuthentication',\n    'get_authn_links'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/ExternalAuthentication/has_external_auth_modules_configured": {
      "get": {
        "x-readonly": true,
        "description": "This function determines whether the user enabled external authentication modules.",
        "operationId": "ExternalAuthentication-has_external_auth_modules_configured",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "has_external_auth_modules_configured",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ExternalAuthentication",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether the cPanel user enabled any external modules.\n\n* `1` - Enabled.\n* `0` - **Not** enabled.\n\n**Note:**\n\nFor more information, read our [Password and Security](https://go.cpanel.net/cpaneldocsPasswordoutputampSecurity) and [External Authentication](https://go.cpanel.net/externalauth) FAQ documentation.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return external authentication user status",
        "tags": [
          "ExternalAuthentication",
          "External Authentication"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ExternalAuthentication \\\n  has_external_auth_modules_configured\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ExternalAuthentication/has_external_auth_modules_configured"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ExternalAuthentication_has_external_auth_modules_configured.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_has_external_auth_modules_configured.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ExternalAuthentication/,\n    q/has_external_auth_modules_configured/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ExternalAuthentication_has_external_auth_modules_configured.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_has_external_auth_modules_configured.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ExternalAuthentication',\n    'has_external_auth_modules_configured'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 66"
      }
    },
    "/ExternalAuthentication/remove_authn_link": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function removes a link to an account at an external authentication identity provider.",
        "operationId": "ExternalAuthentication-remove_authn_link",
        "parameters": [
          {
            "description": "The name of the identity provider.",
            "in": "query",
            "name": "provider",
            "required": true,
            "schema": {
              "example": "cpanelid",
              "type": "string"
            }
          },
          {
            "description": "The unique identifier for the user at the identity provider.",
            "in": "query",
            "name": "subject_unique_identifier",
            "required": true,
            "schema": {
              "example": "123456789012345678901",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "remove_authn_link",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ExternalAuthentication",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove external authentication link",
        "tags": [
          "ExternalAuthentication",
          "External Authentication"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ExternalAuthentication \\\n  remove_authn_link \\\n  provider='cpanelid' \\\n  subject_unique_identifier='123456789012345678901'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ExternalAuthentication/remove_authn_link?provider=cpanelid&subject_unique_identifier=123456789012345678901"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ExternalAuthentication_remove_authn_link.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_remove_authn_link.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ExternalAuthentication/,\n    q/remove_authn_link/,\n    {\n        'provider' => 'cpanelid',\n        'subject_unique_identifier' => '123456789012345678901',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ExternalAuthentication_remove_authn_link.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/ExternalAuthentication_remove_authn_link.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ExternalAuthentication',\n    'remove_authn_link',\n    array (\n        'provider' => 'cpanelid',\n        'subject_unique_identifier' => '123456789012345678901',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/ExtractInfo/finish": {
      "get": {
        "description": "Clears the run-state marker written by ExtractInfo.start. After finish, progress reports state 'none'. Idempotent - succeeds whether or not a marker exists. Call after Fileman.fileop op=extract completes (success or failure).",
        "operationId": "finish",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "example": "finish",
                      "type": "string"
                    },
                    "module": {
                      "example": "ExtractInfo",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "cleared": {
                              "description": "Always true on success.",
                              "example": true,
                              "type": "boolean"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "messages": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "status": {
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Clear the current user's extract run-state marker",
        "tags": [
          "ExtractInfo"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ExtractInfo \\\n  finish\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ExtractInfo/finish"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 136,
        "x-cpanel-plugin": "ExtractInfo"
      }
    },
    "/ExtractInfo/progress": {
      "get": {
        "description": "Returns telemetry for an in-progress archive extraction started via ExtractInfo.start. currentBytes is how much the destination directory has grown since the start baseline; totalBytes is the uncompressed archive size recorded at start, exact for archives under 4 GiB and a best-effort estimate for larger ones (the gzip trailer stores the uncompressed size modulo 2**32, so it wraps at 4 GiB). totalBytesEstimated reports which of those two cases applies. percent is derived from currentBytes and totalBytes and clamped to 99; it is approximate whenever totalBytesEstimated is true. Degrades to zeros when no run is active. Read-only and safe to poll.",
        "operationId": "progress",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "example": "progress",
                      "type": "string"
                    },
                    "module": {
                      "example": "ExtractInfo",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "currentBytes": {
                              "description": "Bytes the destination directory has grown by since the start baseline. Never negative.",
                              "example": 104857600,
                              "type": "integer"
                            },
                            "elapsedSeconds": {
                              "description": "Seconds since the run started. 0 when not running.",
                              "example": 42,
                              "type": "integer"
                            },
                            "percent": {
                              "description": "Completion percent (0-99), derived from currentBytes / totalBytes and clamped to 99 until finish is called. Approximate whenever totalBytesEstimated is 1; even when the total is exact the destination-directory delta can carry noise.",
                              "example": 33.3,
                              "type": "number"
                            },
                            "startedAtEpoch": {
                              "description": "Start epoch recorded by start. Null when not running.",
                              "example": 1750636800,
                              "nullable": true,
                              "type": "integer"
                            },
                            "state": {
                              "description": "Current run state. 'inprogress' while a run is active and within the timeout, 'timeout' once it has run past the timeout ceiling, or 'none' when nothing is running (including after finish).",
                              "enum": [
                                "inprogress",
                                "timeout",
                                "none"
                              ],
                              "example": "inprogress",
                              "type": "string"
                            },
                            "totalBytes": {
                              "description": "The uncompressed archive size recorded at start. Exact for archives under 4 GiB; a best-effort estimate for archives of 4 GiB or more, because the gzip trailer stores the uncompressed size modulo 2**32. See totalBytesEstimated.",
                              "example": 314572800,
                              "type": "integer"
                            },
                            "totalBytesEstimated": {
                              "description": "1 when totalBytes is an estimate (the gzip trailer wrapped because the archive is 4 GiB or larger), 0 when totalBytes is exact.",
                              "example": 0,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "messages": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "status": {
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Get progress for the current user's running archive extraction",
        "tags": [
          "ExtractInfo"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ExtractInfo \\\n  progress\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ExtractInfo/progress"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 136,
        "x-cpanel-plugin": "ExtractInfo"
      }
    },
    "/ExtractInfo/start": {
      "get": {
        "description": "Begins tracking an extract run for the given archive and destination directory (both must resolve within the current user's home directory). Computes the exact uncompressed byte size of the archive and snapshots the destination directory's current disk usage as a baseline, then writes a run-state marker. Returns immediately; no extraction happens in this function. Call before Fileman.fileop op=extract.",
        "operationId": "start",
        "parameters": [
          {
            "description": "Path to the backup archive being extracted. Must resolve within the current user's home directory.",
            "in": "query",
            "name": "archive",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Destination directory the archive is being extracted into. Must resolve within the current user's home directory.",
            "in": "query",
            "name": "directory",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "example": "start",
                      "type": "string"
                    },
                    "module": {
                      "example": "ExtractInfo",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "started": {
                              "description": "Always true on success.",
                              "example": true,
                              "type": "boolean"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "messages": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "status": {
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Begin tracking progress for an extract run",
        "tags": [
          "ExtractInfo"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ExtractInfo \\\n  start \\\n  archive=backup-11.128.0.6_2026-06-23_user.tar.gz \\\n  directory=public_html\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ExtractInfo/start"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 136,
        "x-cpanel-plugin": "ExtractInfo"
      }
    },
    "/Features/get_feature_metadata": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the details of a cPanel account's available feature lists.",
        "operationId": "Features-get_feature_metadata",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_feature_metadata",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Features",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing feature information.",
                          "items": {
                            "properties": {
                              "id": {
                                "description": "The feature's system ID.",
                                "example": "wordpress_manager",
                                "type": "string"
                              },
                              "is_plugin": {
                                "description": "Whether the feature is a [plugin](https://go.cpanel.net/cpanelplugin).\n\n* `1` — Plugin.\n* `0` — **Not** a plugin.",
                                "enum": [
                                  1,
                                  0
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "name": {
                                "description": "The feature's name.",
                                "example": "WordPress Manager",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's features' metadata",
        "tags": [
          "Features",
          "cPanel Features"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Features \\\n  get_feature_metadata\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Features/get_feature_metadata"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Features_get_feature_metadata.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Features_get_feature_metadata.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Features/,\n    q/get_feature_metadata/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Features_get_feature_metadata.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Features_get_feature_metadata.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Features',\n    'get_feature_metadata'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 80"
      }
    },
    "/Features/has_feature": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether a cPanel account has access to\na [feature](https://go.cpanel.net/whmdocsFeatureManager#selectable-features).",
        "operationId": "Features-has_feature",
        "parameters": [
          {
            "description": "The feature's name.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "autossl",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "does-not-have-feature": {
                    "summary": "The account does not have a feature.",
                    "value": {
                      "result": {
                        "data": null,
                        "errors": null,
                        "messages": null,
                        "metadata": {},
                        "status": 0,
                        "warnings": null
                      }
                    }
                  },
                  "exists-but-acct-does-not-have": {
                    "summary": "The feature exists but the account does not have it enabled.",
                    "value": {
                      "result": {
                        "data": null,
                        "errors": null,
                        "messages": [
                          "The feature “autossl” exists but is not enabled."
                        ],
                        "metadata": {},
                        "status": 0,
                        "warnings": null
                      }
                    }
                  },
                  "has-feature": {
                    "summary": "The account has a feature.",
                    "value": {
                      "result": {
                        "data": null,
                        "errors": null,
                        "messages": null,
                        "metadata": {},
                        "status": 1,
                        "warnings": null
                      }
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "has_feature",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Features",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "A message about the feature's status.\n\n**Note:**\n\nThe function only returns a message when the feature exists but\nit is **not** enabled.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "Whether the feature exists on the system.\n\n* `1` — The feature exists on the system and it is enabled.\n* `0` — The feature exists on the system, but the user does **not** have it.\n* `null` — The feature is **not** installed on the system.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "nullable": true,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Validate cPanel account's feature access",
        "tags": [
          "Features",
          "cPanel Features"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Features \\\n  has_feature \\\n  name='autossl'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Features/has_feature?name=autossl"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Features_has_feature.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Features_has_feature.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Features/,\n    q/has_feature/,\n    {\n        'name' => 'autossl',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Features_has_feature.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Features_has_feature.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Features',\n    'has_feature',\n    array (\n        'name' => 'autossl',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Features/has_features_like": {
      "get": {
        "x-readonly": true,
        "description": "This function allows you to search for cPanel account features and determine whether those features\nare enabled.",
        "operationId": "Features-has_features_like",
        "parameters": [
          {
            "description": "The feature's name that you wish to search.\n\n**Note:**\n\nTo use a regular expression, you must set the `is_regex` parameter's value to `true`.",
            "in": "query",
            "name": "pattern",
            "required": true,
            "schema": {
              "example": "mail",
              "type": "string"
            }
          },
          {
            "description": "Whether the `pattern` parameter's value is a regular expression.\n*  `1` - The `pattern` parameter's value is a regular expression.\n*  `0` - The `pattern` parameter's value is **not** a regular expression",
            "in": "query",
            "name": "is_regex",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "has-enabled-features": {
                    "summary": "Pattern matches enabled features",
                    "value": {
                      "result": {
                        "data": {
                          "has_matching_features": 1
                        },
                        "errors": null,
                        "messages": null,
                        "metadata": {},
                        "status": 1,
                        "warnings": null
                      }
                    }
                  },
                  "no-enabled-features": {
                    "summary": "Pattern matches features but none are enabled",
                    "value": {
                      "result": {
                        "data": {
                          "has_matching_features": 0
                        },
                        "errors": null,
                        "messages": null,
                        "metadata": {},
                        "status": 1,
                        "warnings": null
                      }
                    }
                  },
                  "no-matches": {
                    "summary": "No features match the pattern",
                    "value": {
                      "result": {
                        "data": {
                          "has_matching_features": 0
                        },
                        "errors": null,
                        "messages": null,
                        "metadata": {},
                        "status": 1,
                        "warnings": null
                      }
                    }
                  },
                  "missing-pattern": {
                    "summary": "Pattern parameter is required",
                    "value": {
                      "result": {
                        "data": null,
                        "errors": [
                          "\"pattern\" is required"
                        ],
                        "messages": null,
                        "metadata": {},
                        "status": 0,
                        "warnings": null
                      }
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "has_features_like",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Features",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Object containing the result of the feature search.",
                          "properties": {
                            "has_matching_features": {
                              "description": "Whether any features match the search pattern and are enabled.\n* `1` - At least one matching feature is enabled.\n* `0` - No matching features are enabled (either no matches or all matches are disabled).",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "example": {
                            "has_matching_features": 1
                          },
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.\n\nCommon errors include missing pattern parameter or invalid regular expression syntax.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "Whether the API call was successful.\n* `1` - Success. Features were searched and results returned.\n* `0` - Failed. Check the `errors` field for details (e.g., missing pattern).",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether queried features are enabled",
        "tags": [
          "Features",
          "cPanel Features"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Features \\\n  has_features_like \\\n  pattern='mail'\n"
          },
          {
            "label": "CLI (Regex)",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Features \\\n  has_features_like \\\n  pattern='^ssl.*' \\\n  is_regex=1\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Features/has_features_like?pattern=mail"
          },
          {
            "label": "URL (Regex)",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Features/has_features_like?pattern=%5Essl.*&is_regex=1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Features_has_features_like.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Features_has_features_like.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Features/,\n    q/has_features_like/,\n    {\n        'pattern' => 'mail',\n        'is_regex' => 0,\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Features_has_features_like.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Features_has_features_like.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Features',\n    'has_features_like',\n    array (\n        'pattern' => 'mail',\n        'is_regex' => 0,\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.130"
      }
    },
    "/Features/list_features": {
      "get": {
        "x-readonly": true,
        "description": "This function lists a cPanel account's features.",
        "operationId": "Features-list_features",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_features",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Features",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "additionalProperties": {
                            "description": "Whether the feature is installed.\n* `1` - Installed.\n* `0` - **Not** installed.",
                            "enum": [
                              0,
                              1
                            ],
                            "example": 0,
                            "type": "integer"
                          },
                          "description": "Features available to the account. The key is a feature name and the value\nis whether the feature is installed.\n\n**Note:**\n\nThis function returns features that third-party software or plugins provide.",
                          "example": {
                            "bbs": 0,
                            "blockers": 1,
                            "boxtrapper": 1,
                            "changemx": 1,
                            "chat": 0,
                            "defaultaddress": 1,
                            "email_disk_usage": 1,
                            "emailarchive": 1,
                            "emailauth": 1,
                            "emaildomainfwd": 1,
                            "emailtrace": 1,
                            "popaccts": 1,
                            "spamassassin": 1,
                            "spambox": 1,
                            "traceaddy": 1,
                            "updatecontact": 1,
                            "webmail": 1
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's features",
        "tags": [
          "Features",
          "cPanel Features"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Features \\\n  list_features\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Features/list_features"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Features_list_features.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Features_list_features.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Features/,\n    q/list_features/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Features_list_features.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Features_list_features.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Features',\n    'list_features'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Features/list_features_like": {
      "get": {
        "x-readonly": true,
        "description": "This function allows you to search for enabled cPanel account features and lists those features\nin the returned payload.",
        "operationId": "Features-list_features_like",
        "parameters": [
          {
            "description": "The feature's name that you wish to search.\n\n**Note:**\n\nTo use a regular expression, you must set the `is_regex` parameter's value to `true`.",
            "in": "query",
            "name": "pattern",
            "required": true,
            "schema": {
              "example": "mail",
              "type": "string"
            }
          },
          {
            "description": "Whether the `pattern` parameter's value is a regular expression.\n*  `1` - The `pattern` parameter's value is a regular expression.\n*  `0` - The `pattern` parameter's value is **not** a regular expression",
            "in": "query",
            "name": "is_regex",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "string-pattern-match": {
                    "summary": "Partial string pattern matching multiple enabled features",
                    "value": {
                      "result": {
                        "data": [
                          "webmail",
                          "emailauth"
                        ],
                        "errors": null,
                        "messages": null,
                        "metadata": {},
                        "status": 1,
                        "warnings": null
                      }
                    }
                  },
                  "regex-pattern-match": {
                    "summary": "Regular expression pattern matching with anchors",
                    "value": {
                      "result": {
                        "data": [
                          "sslmanager"
                        ],
                        "errors": null,
                        "messages": null,
                        "metadata": {},
                        "status": 1,
                        "warnings": null
                      }
                    }
                  },
                  "no-matches": {
                    "summary": "No enabled features match the pattern",
                    "value": {
                      "result": {
                        "data": [],
                        "errors": null,
                        "messages": null,
                        "metadata": {},
                        "status": 1,
                        "warnings": null
                      }
                    }
                  },
                  "missing-pattern": {
                    "summary": "Pattern parameter is required",
                    "value": {
                      "result": {
                        "data": null,
                        "errors": [
                          "\"pattern\" is required"
                        ],
                        "messages": null,
                        "metadata": {},
                        "status": 0,
                        "warnings": null
                      }
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_features_like",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Features",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "A list of enabled feature names that match the search pattern.\n\n**Note:**\n\nThe function only returns enabled features.",
                          "example": [
                            "webmail",
                            "emailauth"
                          ],
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.\n\nCommon errors include missing pattern parameter or invalid regular expression syntax.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "Whether the API call was successful.\n* `1` - Success. Features were searched and results returned.\n* `0` - Failed. Check the `errors` field for details (e.g., missing pattern).",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return queried cPanel account features",
        "tags": [
          "Features",
          "cPanel Features"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Features \\\n  list_features_like \\\n  pattern='mail'\n"
          },
          {
            "label": "CLI (Regex)",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Features \\\n  list_features_like \\\n  pattern='^ssl.*' \\\n  is_regex=1\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Features/list_features_like?pattern=mail"
          },
          {
            "label": "URL (Regex)",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Features/list_features_like?pattern=%5Essl.*&is_regex=1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Features_list_features_like.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Features_list_features_like.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Features/,\n    q/list_features_like/,\n    {\n        'pattern' => 'mail',\n        'is_regex' => 0,\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Features_list_features_like.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Features_list_features_like.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Features',\n    'list_features_like',\n    array (\n        'pattern' => 'mail',\n        'is_regex' => 0,\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.130"
      }
    },
    "/Fileman/autocompletedir": {
      "get": {
        "x-readonly": true,
        "description": "This function returns any files and directories that begin with a specified string.\n\n**Important:**\n\n  When you disable the [File Storage role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "Fileman-autocompletedir",
        "parameters": [
          {
            "description": "The prefix of the paths to complete.",
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "example": "public",
              "type": "string"
            }
          },
          {
            "description": "Whether to include only directories in the output.\n* `1` — **Only** include directories.\n* `0` — Include directories **and** files.",
            "in": "query",
            "name": "dirsonly",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                1,
                0
              ],
              "type": "integer"
            }
          },
          {
            "description": "Whether to return HTML-encoded results.\n* `1` — Return HTML-encoded output.\n* `0` — Return plaintext output.",
            "in": "query",
            "name": "html",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to return all files and directories inside the specified\ndirectory. If you set this parameter's value to `1`, you **must** set the `path`\nparameter's value to a full directory path.\n* `1` — Return **all** files and directories inside the specified directory.\n* `0` — Return partial file and directory name matches.",
            "in": "query",
            "name": "list_all",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                1,
                0
              ],
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "autocompletedir",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing the files and directories that match the specified path.",
                          "items": {
                            "properties": {
                              "file": {
                                "description": "A file or directory that matches the specified path.",
                                "example": "public_ftp",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return autocomplete file and directory names",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  autocompletedir \\\n  path='public'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Fileman/autocompletedir?path=public"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_autocompletedir.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_autocompletedir.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/autocompletedir/,\n    {\n        'path' => 'public',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_autocompletedir.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_autocompletedir.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'autocompletedir',\n    array (\n        'path' => 'public',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/Fileman/copy_file": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function copies a file or directory to a new location and preserves the source permissions and modification time. If the destination is an existing directory, the source is copied into it. The function returns an error if the destination already exists.\n\n**Important:**\n\n  When you disable the [File Storage role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "Fileman-copy_file",
        "parameters": [
          {
            "description": "The path to copy the source to.",
            "in": "query",
            "name": "destination",
            "required": true,
            "schema": {
              "example": "public_html/backup/file.txt",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "The path to the file or directory to copy.",
            "in": "query",
            "name": "source",
            "required": true,
            "schema": {
              "example": "public_html/file.txt",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "copy_file",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "src": {
                              "description": "The resolved source path.",
                              "format": "path",
                              "type": "string"
                            },
                            "dest": {
                              "description": "The resolved destination path.",
                              "format": "path",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Copy a file",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  copy_file \\\n  source='public_html/file.txt' \\\n  destination='public_html/backup/file.txt'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Fileman/copy_file?source=public_html/file.txt&destination=public_html/backup/file.txt"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_copy_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_copy_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/copy_file/,\n    {\n        'source' => 'public_html/file.txt',\n        'destination' => 'public_html/backup/file.txt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_copy_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_copy_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'copy_file',\n    array (\n        'source' => 'public_html/file.txt',\n        'destination' => 'public_html/backup/file.txt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 136"
      }
    },
    "/Fileman/delete_file": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function permanently removes a file or directory. The function removes directories recursively. This action cannot be undone; to remove a file reversibly, use the trash_file function instead.\n\n**Important:**\n\n  When you disable the [File Storage role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "Fileman-delete_file",
        "parameters": [
          {
            "description": "The path to the file or directory to delete.",
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "example": "public_html/unwanted.txt",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_file",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "path": {
                              "description": "The resolved path that the function deleted.",
                              "example": "/home/user/public_html/unwanted.txt",
                              "format": "path",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete a file permanently",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  delete_file \\\n  path='public_html/unwanted.txt'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Fileman/delete_file?path=public_html/unwanted.txt"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_delete_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_delete_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/delete_file/,\n    {\n        'path' => 'public_html/unwanted.txt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_delete_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_delete_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'delete_file',\n    array (\n        'path' => 'public_html/unwanted.txt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 136"
      }
    },
    "/Fileman/empty_trash": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function purges content from the `.trash` folder in the user's home directory.\n\n**Important:**\n\n  When you disable the [FileStorage role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles), the system **disables** this function.",
        "operationId": "Fileman-empty_trash",
        "parameters": [
          {
            "description": "The maximum age in days of content that the function will not purge.\n\n**Note:**\n\nA value of `0` will purge everything from the user's `.trash` folder.",
            "in": "query",
            "name": "older_than",
            "required": false,
            "schema": {
              "default": 0,
              "example": 31,
              "minimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "empty_trash",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": null,
                          "nullable": true,
                          "properties": {},
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete .trash folder content",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  empty_trash\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Fileman/empty_trash"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_empty_trash.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_empty_trash.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/empty_trash/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_empty_trash.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_empty_trash.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'empty_trash'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 60"
      }
    },
    "/Fileman/get_file_content": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves a file's content.\n\n**Important:**\n\nWhen you disable the [File Storage](https://go.cpanel.net/serverroles) role, the system **disables** this function.\n\n**Note:**\n\nJSON strings **must** be valid UTF-8. To retrieve a non-UTF-8 file via\nJSON, we recommend that you give `ISO-8859-1` as `from_charset` and\n`UTF-8` as `to_charset`, then decode the return payload’s `content`\nas UTF-8.",
        "operationId": "Fileman-get_file_content",
        "parameters": [
          {
            "description": "The file path to the directory that contains the selected file.",
            "in": "query",
            "name": "dir",
            "required": true,
            "schema": {
              "example": "/home/user/public.html",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "The file to retrieve.",
            "in": "query",
            "name": "file",
            "required": true,
            "schema": {
              "example": "example.html",
              "type": "string"
            }
          },
          {
            "description": "The file’s character encoding. This parameter defaults to `_DETECT_`, which indicates a request to detect the file’s character encoding.",
            "in": "query",
            "name": "from_charset",
            "required": false,
            "schema": {
              "default": "_DETECT_",
              "example": "_DETECT_",
              "type": "string"
            }
          },
          {
            "description": "The output character encoding. This parameter defaults to `_LOCALE_`, which indicates a request to use the session locale’s character encoding.\n\n**Important:**\n\nContexts that serialize the API response as JSON **require**\nthis value to be `utf-8` or `US-ASCII`. Behavior is **undefined**\nif the request indicates any other encoding.",
            "in": "query",
            "name": "to_charset",
            "required": false,
            "schema": {
              "default": "_LOCALE_",
              "example": "_LOCALE_",
              "type": "string"
            }
          },
          {
            "description": "Whether to update the file's HTML document encoding.\n\n* `1` — Update the file's HTML document encoding.\n* `0` — Don't update the file's HTML encoding.",
            "in": "query",
            "name": "update_html_document_encoding",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_file_content",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "content": {
                              "description": "The file's contents. A string value.\n\n**Note:**\n\nBehavior is **undefined** if the calling context\nrequires an encoding that conflicts with\nthe file contents. For example, if the file\ncontents are ISO-8859-1 but the context requires\nUTF-8 (as is the case with JSON), the system may\napply an extra layer of UTF-8 encoding in order\nto satisfy the request.",
                              "example": "`hi`",
                              "format": "binary",
                              "type": "string"
                            },
                            "dir": {
                              "description": "The absolute path to the directory that contains the selected file.",
                              "example": "/home/user/public_html",
                              "format": "path",
                              "type": "string"
                            },
                            "filename": {
                              "description": "The file's name.",
                              "example": "example.html",
                              "type": "string"
                            },
                            "from_char": {
                              "description": "The file's previous character encoding. If the request’s `from_charset` was `_DETECT_`, this will contain the detected encoding. Otherwise, it will contain the request’s `from_charset` value.",
                              "example": "UTF-8",
                              "type": "string"
                            },
                            "from_charset": {},
                            "path": {
                              "description": "The absolute path to the file.",
                              "example": "/home/user/public_html/example.html",
                              "format": "path",
                              "type": "string"
                            },
                            "to_char": {
                              "description": "The file's new character encoding. If the request’s `from_charset` was `_LOCALE_`, this will contain the locale’s encoding. Otherwise, it will contain the request’s `to_charset` value.",
                              "example": "UTF-8",
                              "type": "string"
                            },
                            "to_charset": {}
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return file content",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  get_file_content \\\n  dir='/home/user/public_html' \\\n  file='example.html'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Fileman/get_file_content?dir=%2fhome%2fuser%2fpublic.html&file=example.html"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_get_file_content.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_get_file_content.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/get_file_content/,\n    {\n        'dir' => '/home/user/public.html',\n        'file' => 'example.html',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_get_file_content.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_get_file_content.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'get_file_content',\n    array (\n        'dir' => '/home/user/public.html',\n        'file' => 'example.html',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Fileman/get_file_information": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the information for a specified file or directory.\n\n**Important:**\n\nWhen you disable the [File Storage](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Fileman-get_file_information",
        "parameters": [
          {
            "description": "The directory from which to list files.",
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "example": "public_html",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "Whether to flag directories that contain subdirectories.\n\n* `1` - Flag directories that contain subdirectories.\n* `0` - Do **not** flag directories that contain subdirectories.",
            "in": "query",
            "name": "check_for_leaf_directories",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to return the file's MIME type.\n\n* `1` - Return the file's MIME type.\n* `0` - Do **not** return the file's MIME type.",
            "in": "query",
            "name": "include_mime",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to parse the file owner's read and write permissions.\n\n* `1` - Parse the file owner's read and write permissions.\n* `0` - Do **not** parse the file owner's read and write permissions.",
            "in": "query",
            "name": "include_permissions",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to include hidden files in the output.\n\n* `1` - Include hidden files.\n* `0` - Do **not** include hidden files.",
            "in": "query",
            "name": "show_hidden",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_file_information",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "absdir": {
                              "description": "The path to the user's home directory.",
                              "example": "/home/user",
                              "format": "path",
                              "type": "string"
                            },
                            "ctime": {
                              "description": "The file's creation time, Unix time format.",
                              "example": 1400573272,
                              "format": "unix_timestamp",
                              "type": "integer"
                            },
                            "exists": {
                              "description": "Whether the file exists in the directory.\n* `1` - Exists.\n* `0` - Does **not** exist.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "file": {
                              "description": "The filename.",
                              "example": "cgi-bin",
                              "type": "string"
                            },
                            "fullpath": {
                              "description": "The file's full filepath.",
                              "example": "/home/user/public_html/cgi-bin",
                              "format": "path",
                              "type": "string"
                            },
                            "gid": {
                              "description": "The file owner's system group ID.",
                              "example": 503,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "humansize": {
                              "description": "The file's formatted size, followed by one of the following symbols:\n* `KB` - kilobytes\n* `MB` - megabytes\n* `GB` - gigabytes",
                              "example": "5 KB",
                              "type": "string"
                            },
                            "isleaf": {
                              "description": "Whether the directory contains subdirectories.\n* `1` - Contains subdirectories.\n* `0` - Does **not** contain subdirectories.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "mimename": {
                              "description": "The file's MIME name.",
                              "example": "publichtml",
                              "type": "string"
                            },
                            "mimetype": {
                              "description": "The file's MIME type.",
                              "example": "text/plain",
                              "format": "MIME",
                              "type": "string"
                            },
                            "mode": {
                              "description": "The file's textual permissions in [Unix format](https://en.wikipedia.org/wiki/File-system_permissions#Notation_of_traditional_Unix_permissions).",
                              "example": "16872",
                              "type": "string"
                            },
                            "mtime": {
                              "description": "The file's last modification time, in Unix time format.",
                              "example": 1400573272,
                              "format": "unix_timestamp",
                              "type": "integer"
                            },
                            "nicemode": {
                              "description": "The file's numerical permissions in [octal notation](https://en.wikipedia.org/wiki/File-system_permissions#Notation_of_traditional_Unix_permissions).",
                              "example": 755,
                              "type": "integer"
                            },
                            "path": {
                              "description": "The file's path.",
                              "example": "/home/user/public.html",
                              "format": "path",
                              "type": "string"
                            },
                            "rawmimename": {
                              "description": "The file's raw MIME name.",
                              "example": "text/plain",
                              "format": "MIME",
                              "type": "string"
                            },
                            "rawmimetype": {
                              "description": "The file's raw MIME type.",
                              "example": "text/plain",
                              "format": "MIME",
                              "type": "string"
                            },
                            "read": {
                              "description": "Whether the file is readable. The function only returns this value if you set the `include_permissions` value to 1.\n* `1` - Readable.\n* `0` - **Not** readable.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "size": {
                              "description": "The file's size, in bytes.",
                              "example": 4096,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "type": {
                              "description": "The item's type.\n* `file` - File.\n* `dir` - Directory.\n* `char` - Character special device.\n* `block` - Block special device.\n* `fifo` - Named pipe.\n* `link` - Symbolic link.\n* `socket` - Unix domain socket.",
                              "enum": [
                                "file",
                                "dir",
                                "char",
                                "block",
                                "fifo",
                                "link",
                                "socket"
                              ],
                              "example": "file",
                              "type": "string"
                            },
                            "uid": {
                              "description": "The file owner's system user ID.",
                              "example": 502,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "write": {
                              "description": "Whether the file is writable. The function only returns this value if you set the `include_permissions` value to 1 .\n* `1` - Writable.\n* `0` - Not writable.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return file or directory information",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  get_file_information \\\n  path='public_html'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Fileman/get_file_information?path=public_html"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_get_file_information.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_get_file_information.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/get_file_information/,\n    {\n        'path' => 'public_html',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_get_file_information.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_get_file_information.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'get_file_information',\n    array (\n        'path' => 'public_html',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Fileman/list_files": {
      "get": {
        "x-readonly": true,
        "description": "This function returns a sorted list of files and directories.\n\n**Important:**\n\nWhen you disable the [FileStorage role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function. For more information, read our How to Use Server Profiles documentation.",
        "operationId": "Fileman-list_files",
        "parameters": [
          {
            "description": "The directory from which to list files.",
            "in": "query",
            "name": "dir",
            "required": true,
            "schema": {
              "example": "public_html",
              "type": "string"
            }
          },
          {
            "description": "Whether to return directories that contain subdirectories.\n\n* `1` — Return subdirectories.\n* `0` — Do **not** retain subdirectories.",
            "in": "query",
            "name": "check_for_leaf_directories",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to return the file's MIME type.\n\n* `1` — Include MIME type.\n* `0` — Do **not** include MIME type.\n\n**Note:**\n\n If you set this value to `0` but also include the `mime_types` or `raw_mime_types` parameters, the function **overrides** your specified value and sets this parameter to `1`.",
            "in": "query",
            "name": "include_mime",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to parse the file owner's read and write permissions.\n\n* `1` — Parse file permissions.\n* `0` — Do **not** parse file permissions.",
            "in": "query",
            "name": "include_permissions",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "Whether to return only entries that begin with the `filepath-` prefix.\n\n* `1` — Return only files that begin with the `filepath-` prefix.\n* `0` — Return **all** files.\n\nIf you do not use this parameter, the function returns all filenames.",
            "in": "query",
            "name": "limit_to_list",
            "required": false,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "The MIME types to return.\n\n* If you use this parameter, the function returns the specified MIME types\nand sets the `include_mime` parameter's value to `1`.\n* If you do **not** use this parameter, the function returns all MIME types.",
            "in": "query",
            "name": "mime_types",
            "required": false,
            "schema": {
              "example": "text-plain",
              "type": "string"
            }
          },
          {
            "description": "A comma-separated list of files to return.\n\nIf you do not use this parameter, the function returns all files.",
            "in": "query",
            "name": "only_these_files",
            "required": false,
            "schema": {
              "example": "cpbackup-exclude.conf",
              "type": "string"
            }
          },
          {
            "description": "The raw MIME types to return.\n\n* If you use this parameter, the function returns the specified MIME types\nand sets the `include_mime` parameter's value to `1`.\n* If you do **not** use this parameter, the function returns all MIME types.",
            "in": "query",
            "name": "raw_mime_types",
            "required": false,
            "schema": {
              "example": "text/plain",
              "type": "string"
            }
          },
          {
            "description": "Whether to include hidden files in the output.\n\n* `1` — Include hidden files.\n* `0` — Do **not** include hidden files.",
            "in": "query",
            "name": "show_hidden",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "A pipe-separated list of file types to return.\n\n* `file` — A file.\n* `dir` — A directory.\n* `char` — A character special device.\n* `block` — A block special device.\n* `fifo` — A named pipe (FIFO).\n* `link` — A symbolic link.\n* `socket` — A Unix domain socket.\n\nIf you do not use this parameter, the function returns all file types.",
            "explode": false,
            "in": "query",
            "name": "types",
            "required": false,
            "schema": {
              "items": {
                "example": "file|dir",
                "type": "string"
              },
              "type": "array"
            },
            "style": "pipeDelimited"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_files",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "dirs": {
                              "description": "An array of objects containing information about each directory.",
                              "items": {
                                "properties": {
                                  "absdir": {
                                    "description": "The file path to the user's home directory.",
                                    "example": "/home/user",
                                    "format": "path",
                                    "type": "string"
                                  },
                                  "ctime": {
                                    "description": "The directory's creation date.",
                                    "example": 1400573272,
                                    "format": "unix_timestamp",
                                    "type": "integer"
                                  },
                                  "exists": {
                                    "description": "Whether the directory exists in the directory.\n\n* `1` — Exists.\n* `0` — Does **not** exist.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "file": {
                                    "description": "The directory name.",
                                    "example": "cgi-bin",
                                    "type": "string"
                                  },
                                  "fullpath": {
                                    "description": "The directory's full directory path.",
                                    "example": "/home/user/public_html/cgi-bin",
                                    "format": "path",
                                    "type": "string"
                                  },
                                  "gid": {
                                    "description": "The directory owner's system group ID.",
                                    "example": 503,
                                    "minimum": 1,
                                    "type": "integer"
                                  },
                                  "humansize": {
                                    "description": "The formatted size of the directory. The function returns the size with\none of the following symbols:\n\n* `KB` — Kilobytes.\n* `MB` — Megabytes.\n* `GB` — Gigabytes.",
                                    "example": "5 KB",
                                    "type": "string"
                                  },
                                  "isleaf": {
                                    "description": "Whether the directory contains subdirectories.\n\n* `1` — Contains subdirectories.\n* `0` — Does **not** contain subdirectories.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "isparent": {
                                    "description": "Whether the directory is a parent record.\n\n* `1` — A parent record.\n* `0` — **Not** a parent record.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "mimename": {
                                    "description": "The MIME type's name.",
                                    "example": "text-plain",
                                    "type": "string"
                                  },
                                  "mimetype": {
                                    "description": "The directory's MIME's type.",
                                    "example": "text/plain",
                                    "type": "string"
                                  },
                                  "mode": {
                                    "description": "The directory's textual permissions in [Unix format](http://en.wikipedia.org/wiki/File_system_permissions#Notation_of_traditional_Unix_permissions).",
                                    "example": "16877",
                                    "format": "unix-file-permission",
                                    "type": "string"
                                  },
                                  "mtime": {
                                    "description": "The directory's last modification time.",
                                    "example": 1400573272,
                                    "format": "unix_timestamp",
                                    "type": "integer"
                                  },
                                  "nicemode": {
                                    "description": "The directory's numerical permissions.",
                                    "example": 755,
                                    "format": "unix-file-permission",
                                    "type": "integer"
                                  },
                                  "path": {
                                    "description": "The path to the directory.",
                                    "example": "/home/user/public.html",
                                    "format": "path",
                                    "type": "string"
                                  },
                                  "rawmimename": {
                                    "description": "The directory's raw MIME type's name.",
                                    "example": "text-plain",
                                    "type": "string"
                                  },
                                  "rawmimetype": {
                                    "description": "The directory's raw MIME type.",
                                    "example": "text/plain",
                                    "type": "string"
                                  },
                                  "read": {
                                    "description": "Whether the directory is readable.\n\n* `1` — Readable.\n* `0` — **Not** readable.\n\n**Note:**\n\nThe function only returns this value if the `include_permissions` value is `1`.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "size": {
                                    "description": "The directory's size, in bytes.",
                                    "example": 4096,
                                    "minimum": 1,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "description": "The item's type.\n\n* `file` — A file.\n* `dir` — A directory.\n* `char` — A character special device.\n* `block` — A block special device.\n* `fifo` - A named pipe (FIFO).\n* `link` — A symbolic link.\n* `socket` — A Unix domain socket.",
                                    "enum": [
                                      "file",
                                      "dir",
                                      "char",
                                      "block",
                                      "fifo",
                                      "link",
                                      "socket"
                                    ],
                                    "example": "file",
                                    "type": "string"
                                  },
                                  "uid": {
                                    "description": "The directory owner's system user ID.",
                                    "example": 502,
                                    "minimum": 1,
                                    "type": "integer"
                                  },
                                  "write": {
                                    "description": "Whether the directory is writable.\n\n* `1` — Writable.\n* `0` — **Not** writable.\n\n**Note:**\n\nThe function only returns this value if the `include_permissions` value is `1`.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "files": {
                              "description": "An array of objects containing information about each file.",
                              "items": {
                                "properties": {
                                  "absdir": {
                                    "description": "The file path to the user's home directory.",
                                    "example": "/home/user",
                                    "format": "path",
                                    "type": "string"
                                  },
                                  "ctime": {
                                    "description": "The file's creation time.",
                                    "example": 1400573272,
                                    "format": "unix_timestamp",
                                    "type": "integer"
                                  },
                                  "exists": {
                                    "description": "Whether the file exists in the directory.\n\n* `1` — Exists.\n* `0` — Does **not** exist.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "file": {
                                    "description": "The filename.",
                                    "example": "cgi-bin",
                                    "type": "string"
                                  },
                                  "fullpath": {
                                    "description": "The file's full file path.",
                                    "example": "/home/user/public_html/cgi-bin",
                                    "format": "path",
                                    "type": "string"
                                  },
                                  "gid": {
                                    "description": "The file owner's system group ID.",
                                    "example": 503,
                                    "minimum": 1,
                                    "type": "integer"
                                  },
                                  "humansize": {
                                    "description": "The formatted size of the file. The function returns the size with\none of the following symbols:\n\n* `KB` — Kilobytes.\n* `MB` — Megabytes.\n* `GB` — Gigabytes.",
                                    "example": "5 KB",
                                    "type": "string"
                                  },
                                  "isleaf": {
                                    "description": "Whether the directory contains subdirectories.\n\n* `1` — Contains subdirectories.\n* `0` — Does **not** contain subdirectories.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "isparent": {
                                    "description": "Whether the file is a parent record.\n\n* `1` — A parent record.\n* `0` — **Not** a parent record.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "mimename": {
                                    "description": "The file's MIME type name.",
                                    "example": "text-plain",
                                    "type": "string"
                                  },
                                  "mimetype": {
                                    "description": "The file's MIME type.",
                                    "example": "text/plain",
                                    "type": "string"
                                  },
                                  "mode": {
                                    "description": "The file's textual permissions.",
                                    "example": "16877",
                                    "format": "unix-file-permission",
                                    "type": "string"
                                  },
                                  "mtime": {
                                    "description": "The file's last modification time.",
                                    "example": 1400573272,
                                    "format": "unix_timestamp",
                                    "type": "integer"
                                  },
                                  "nicemode": {
                                    "description": "The file's numerical permissions.",
                                    "example": 755,
                                    "format": "unix-file-permission",
                                    "type": "integer"
                                  },
                                  "path": {
                                    "description": "The absolute path to the file.",
                                    "example": "/home/user/public.html",
                                    "format": "path",
                                    "type": "string"
                                  },
                                  "rawmimename": {
                                    "description": "The file's raw MIME type's name.",
                                    "example": "text-plain",
                                    "type": "string"
                                  },
                                  "rawmimetype": {
                                    "description": "The file's raw MIME type.",
                                    "example": "text/plain",
                                    "type": "string"
                                  },
                                  "read": {
                                    "description": "Whether the file is readable.\n\n* `1` — Readable.\n* `0` — **Not** readable.\n\n**Note:**\n\nThe function only returns this value if the `include_permissions` value is `1`.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "size": {
                                    "description": "The file's size, in bytes.",
                                    "example": 4096,
                                    "minimum": 1,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "description": "The item's type.\n\n* `file` — A file.\n* `dir` — A directory.\n* `char` — A character special device.\n* `block` — A block special device.\n* `fifo` - A named pipe (FIFO).\n* `link` — A symbolic link.\n* `socket` — A Unix domain socket.",
                                    "enum": [
                                      "file",
                                      "dir",
                                      "char",
                                      "block",
                                      "fifo",
                                      "link",
                                      "socket"
                                    ],
                                    "example": "file",
                                    "type": "string"
                                  },
                                  "uid": {
                                    "description": "The file owner's system user ID.",
                                    "example": 502,
                                    "minimum": 1,
                                    "type": "integer"
                                  },
                                  "write": {
                                    "description": "Whether the file is writable.\n\n* `1` — Writable.\n* `0` — **Not** writable.\n\n**Note:**\n\nThe function only returns this value if the `include_permissions` value is `1`.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success\n* `0` — Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return directory content",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  list_files \\\n  dir='public_html'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Fileman/list_files?dir=public_html"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_list_files.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_list_files.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/list_files/,\n    {\n        'dir' => 'public_html',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_list_files.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_list_files.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'list_files',\n    array (\n        'dir' => 'public_html',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Fileman/move_file": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function moves a file or directory to a new location. If the destination is an existing directory, the source is moved into it. The function returns an error if the destination already exists.\n\n**Important:**\n\n  When you disable the [File Storage role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "Fileman-move_file",
        "parameters": [
          {
            "description": "The path to move the source to.",
            "in": "query",
            "name": "destination",
            "required": true,
            "schema": {
              "example": "public_html/subdir/new.txt",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "The path to the file or directory to move.",
            "in": "query",
            "name": "source",
            "required": true,
            "schema": {
              "example": "public_html/old.txt",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "move_file",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "src": {
                              "description": "The resolved source path.",
                              "example": "/home/user/public_html/old.txt",
                              "format": "path",
                              "type": "string"
                            },
                            "dest": {
                              "description": "The resolved destination path.",
                              "example": "/home/user/public_html/subdir/new.txt",
                              "format": "path",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Move a file",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  move_file \\\n  source='public_html/old.txt' \\\n  destination='public_html/subdir/new.txt'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Fileman/move_file?source=public_html/old.txt&destination=public_html/subdir/new.txt"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_move_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_move_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/move_file/,\n    {\n        'source' => 'public_html/old.txt',\n        'destination' => 'public_html/subdir/new.txt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_move_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_move_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'move_file',\n    array (\n        'source' => 'public_html/old.txt',\n        'destination' => 'public_html/subdir/new.txt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 136"
      }
    },
    "/Fileman/rename_file": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function changes the name of a file or directory within the same directory. To move a file to a different directory, use the move_file function. The function returns an error if the destination already exists.\n\n**Important:**\n\n  When you disable the [File Storage role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "Fileman-rename_file",
        "parameters": [
          {
            "description": "The new path, in the same directory as the source.",
            "in": "query",
            "name": "destination",
            "required": true,
            "schema": {
              "example": "public_html/new.txt",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "The path to the file or directory to rename.",
            "in": "query",
            "name": "source",
            "required": true,
            "schema": {
              "example": "public_html/old.txt",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "rename_file",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "src": {
                              "description": "The resolved source path.",
                              "format": "path",
                              "type": "string"
                            },
                            "dest": {
                              "description": "The resolved destination path.",
                              "format": "path",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Rename a file",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  rename_file \\\n  source='public_html/old.txt' \\\n  destination='public_html/new.txt'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Fileman/rename_file?source=public_html/old.txt&destination=public_html/new.txt"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_rename_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_rename_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/rename_file/,\n    {\n        'source' => 'public_html/old.txt',\n        'destination' => 'public_html/new.txt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_rename_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_rename_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'rename_file',\n    array (\n        'source' => 'public_html/old.txt',\n        'destination' => 'public_html/new.txt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 136"
      }
    },
    "/Fileman/restore_from_trash": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function restores a previously trashed file or directory to its original location. Pass the item's original path. If the path was trashed more than once, the function restores the most recent copy. The function returns an error if the original path already exists.\n\n**Important:**\n\n  When you disable the [File Storage role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "Fileman-restore_from_trash",
        "parameters": [
          {
            "description": "The original path of the trashed file or directory.",
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "example": "public_html/unwanted.txt",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "restore_from_trash",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "path": {
                              "description": "The restored path.",
                              "format": "path",
                              "type": "string"
                            },
                            "trash_leaf": {
                              "description": "The trash directory name that the function restored from.",
                              "example": "unwanted.txt",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Restore a file from the trash",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  restore_from_trash \\\n  path='public_html/unwanted.txt'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Fileman/restore_from_trash?path=public_html/unwanted.txt"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_restore_from_trash.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_restore_from_trash.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/restore_from_trash/,\n    {\n        'path' => 'public_html/unwanted.txt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_restore_from_trash.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_restore_from_trash.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'restore_from_trash',\n    array (\n        'path' => 'public_html/unwanted.txt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 136"
      }
    },
    "/Fileman/save_file_content": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function saves a file in a directory and encodes it in a character set.\n\n**Important:**\n\n  When you disable the [File Storage role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "Fileman-save_file_content",
        "parameters": [
          {
            "description": "The files to retrieve.",
            "in": "query",
            "name": "file",
            "required": true,
            "schema": {
              "example": "example.html",
              "type": "string"
            }
          },
          {
            "description": "The new file's contents. If you do **not** use this parameter, the function creates a blank file.",
            "in": "query",
            "name": "content",
            "required": false,
            "schema": {
              "example": "hi",
              "type": "string"
            }
          },
          {
            "description": "The directory that contains the selected file.\n\n**Note:**\n\nThis parameter defaults to the currently-authenticated user's `/home` directory.",
            "in": "query",
            "name": "dir",
            "required": false,
            "schema": {
              "example": "/home/username/public_html",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "Whether the function will return an error or save in the default\ncharacter set if it cannot save in the specified character set.\n\n* `1` — Save in the default character set.\n* `0` — Return an error.",
            "in": "query",
            "name": "fallback",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "The [character set encoding](https://en.wikipedia.org/wiki/Character_encoding) of the `content` parameter's value.",
            "in": "query",
            "name": "from_charset",
            "required": false,
            "schema": {
              "default": "UTF-8",
              "example": "UTF-8",
              "type": "string"
            }
          },
          {
            "description": "The [character set encoding](https://en.wikipedia.org/wiki/Character_encoding) in which to encode the file.",
            "in": "query",
            "name": "to_charset",
            "required": false,
            "schema": {
              "default": "UTF-8",
              "example": "ASCII",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "save_file_content",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "from_charset": {
                              "description": "The file's character set.",
                              "example": "UTF-8",
                              "type": "string"
                            },
                            "path": {
                              "description": "The path to the file.",
                              "example": "/home/user/public_html/example.html",
                              "format": "path",
                              "type": "string"
                            },
                            "to_charset": {
                              "description": "The file's new character set.",
                              "example": "ASCII",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Save file",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  save_file_content \\\n  file='example.html'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Fileman/save_file_content?file=example.html"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_save_file_content.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_save_file_content.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/save_file_content/,\n    {\n        'file' => 'example.html',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_save_file_content.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_save_file_content.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'save_file_content',\n    array (\n        'file' => 'example.html',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Fileman/transcode": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function converts a buffer from one encoding language to another.\n\n**Important:**\n\n  When you disable the [File Storage role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Fileman-transcode",
        "parameters": [
          {
            "description": "The file's contents.",
            "in": "query",
            "name": "content",
            "required": true,
            "schema": {
              "example": "hi",
              "type": "string"
            }
          },
          {
            "description": "Whether to discard any characters that do not transcode correctly.\n  * `1` - Discard invalid characters.\n  * `0` - Transcode invalid characters in the default [character set encoding](https://en.wikipedia.org/wiki/Character_encoding).",
            "in": "query",
            "name": "discard_illegal",
            "required": false,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The file's current [character set encoding](https://en.wikipedia.org/wiki/Character_encoding).",
            "in": "query",
            "name": "from_charset",
            "required": false,
            "schema": {
              "example": "UTF-8",
              "type": "string"
            }
          },
          {
            "description": "The [character set encoding](https://en.wikipedia.org/wiki/Character_encoding) in which to encode the file.",
            "in": "query",
            "name": "to_charset",
            "required": false,
            "schema": {
              "example": "ASCII",
              "type": "string"
            }
          },
          {
            "description": "Whether to transcode invalid characters to valid characters in the new character set encoding.\n  * `1` - Transcode invalid characters in the new [character set encoding](https://en.wikipedia.org/wiki/Character_encoding).\n  * `0` - Return an error message.",
            "in": "query",
            "name": "transliterate",
            "required": false,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "transcode",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "charset": {
                              "description": "The file's new character set.",
                              "example": "ASCII",
                              "type": "string"
                            },
                            "content": {
                              "description": "The file's content.",
                              "example": "hi",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update buffer encoding",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  transcode \\\n  content='hi'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Fileman/transcode?content=hi"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_transcode.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_transcode.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/transcode/,\n    {\n        'content' => 'hi',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_transcode.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_transcode.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'transcode',\n    array (\n        'content' => 'hi',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Fileman/trash_file": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function moves a file or directory to the account trash directory and records its original path so that you can restore it later with the restore_from_trash function.\n\n**Important:**\n\n  When you disable the [File Storage role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "Fileman-trash_file",
        "parameters": [
          {
            "description": "The path to the file or directory to move to the trash.",
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "example": "public_html/unwanted.txt",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "trash_file",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "path": {
                              "description": "The resolved original path.",
                              "format": "path",
                              "type": "string"
                            },
                            "trash_leaf": {
                              "description": "The name of the item inside the trash directory.",
                              "example": "unwanted.txt",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Move a file to the trash",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Fileman \\\n  trash_file \\\n  path='public_html/unwanted.txt'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Fileman/trash_file?path=public_html/unwanted.txt"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Fileman_trash_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Fileman_trash_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Fileman/,\n    q/trash_file/,\n    {\n        'path' => 'public_html/unwanted.txt',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Fileman_trash_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Fileman_trash_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Fileman',\n    'trash_file',\n    array (\n        'path' => 'public_html/unwanted.txt',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 136"
      }
    },
    "/Fileman/upload_files": {
      "post": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function uploads one or more files to a directory.\n\n**Important:**\n\n* You **must** send the files as parts of a `multipart/form-data` request\n  body. Query parameters cannot carry a file. For security reasons, the\n  system discards any query parameter whose name begins with `file-`.\n* You can't pass the file parts on the command line, and LiveAPI can't\n  call this function at all, because neither can send a\n  `multipart/form-data` body.\n* When you disable the [File Storage](https://go.cpanel.net/serverroles)\n  role, the system **disables** this function.\n* You cannot call this function through WHM API 1's\n  [uapi_cpanel](https://go.cpanel.net/UseWHMAPItoCallcPanelAPIandUAPI)\n  function.\n\n**Note:**\n\n* The system names each stored file after that part's `filename`\n  attribute, **not** after the form field's name. By convention, name the\n  fields `file-0`, `file-1`, and so on, as the cPanel interface does.\n* The system scans every uploaded file for viruses and rejects an\n  infected file.\n* The system rejects a filename of `.` or `..`, or a filename that\n  contains control characters or any of the `<`, `>`, `;`, and `/`\n  characters.\n* If one request contains two files with the same name, the system\n  renames the second file. For example, `example-2.png`.\n* For more information about how to use this function in your custom\n  code, read our [Use UAPI's `Fileman::upload_files` Function in Custom\n  Code tutorial](https://go.cpanel.net/tutorial-use-uapis-fileman-upload-files-function-in-custom-code).",
        "operationId": "Fileman-upload_files",
        "summary": "Upload files",
        "tags": [
          "Fileman",
          "Manage Files"
        ],
        "parameters": [
          {
            "description": "The directory in which to store the uploaded files.\n\n**Note:**\n\n* A relative path resolves against the account's home directory.\n* This parameter defaults to the account's home directory.\n* The system creates the directory if it does not exist.",
            "in": "query",
            "name": "dir",
            "required": false,
            "schema": {
              "example": "/home/username/public_html",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "Whether to include the account's disk usage in the response.\n\n* `1` - Return the `diskinfo` object.\n* `0` - Do not return the `diskinfo` object.",
            "in": "query",
            "name": "get_disk_info",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to replace a file that already exists in the target directory.\n\n* `1` - Overwrite the existing file.\n* `0` - Fail that file with an \"already exists\" reason.",
            "in": "query",
            "name": "overwrite",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The permissions to apply to every file in the request, in octal\nnotation.\n\n**Note:**\n\n* The system reads both `0644` and `644` as octal.\n* This parameter defaults to `0644`.\n* If the system cannot apply the permissions, the upload still succeeds\n  and the function returns a warning for that file.",
            "in": "query",
            "name": "permissions",
            "required": false,
            "schema": {
              "default": "0644",
              "example": "0600",
              "format": "unix-file-permission",
              "pattern": "^[0]?[0-7]{3}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "file-0": {
                    "description": "A file to upload.",
                    "format": "binary",
                    "type": "string"
                  }
                },
                "required": [
                  "file-0"
                ],
                "type": "object"
              }
            }
          },
          "description": "The files to upload. For more information about this structure, read\nMozilla's [POST\nMethod](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST)\ndocumentation.\n\n**Important:**\n\n* You **must** use this request body. You can't pass the files as query\n  parameters or on the command line.\n* The system names the stored file after the part's `filename`\n  attribute, not after the field name.\n\n**Note:**\n\nTo upload multiple files in one request, increment the field name. For\nexample: `file-0`, `file-1`, and `file-2`.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "upload_files",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Fileman",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "diskinfo": {
                              "additionalProperties": {
                                "description": "The `_humansize` variant of the value of the same\nname, formatted for display. For example, `4.5\nGB`.",
                                "type": "string"
                              },
                              "description": "The account's disk usage and upload limits. The\nsystem **only** returns this object when you pass\nthe `get_disk_info` parameter.\n\n**Note:**\n\n* The object also contains a `_humansize` variant\n  of every value below, formatted for display. For\n  example, `spaceused_humansize`.\n* The system returns each byte count as a decimal\n  string with two decimal places, and each inode\n  count as a number.\n* A value that the account's quota does not limit\n  appears as an infinity symbol (∞).",
                              "properties": {
                                "file_upload_max_bytes": {
                                  "description": "The largest size, in bytes, that a single uploaded file may reach.",
                                  "example": "104857600.00",
                                  "type": "string"
                                },
                                "file_upload_must_leave_bytes": {
                                  "description": "The amount of free space, in bytes, that must remain after an upload.",
                                  "example": "5242880.00",
                                  "type": "string"
                                },
                                "file_upload_remain": {
                                  "description": "The total size, in bytes, that the account may upload now.",
                                  "example": "4718592.00",
                                  "type": "string"
                                },
                                "fileslimit": {
                                  "anyOf": [
                                    {
                                      "type": "integer"
                                    },
                                    {
                                      "type": "string"
                                    }
                                  ],
                                  "description": "The number of inodes that the account may use.",
                                  "example": 16896
                                },
                                "filesremain": {
                                  "anyOf": [
                                    {
                                      "type": "integer"
                                    },
                                    {
                                      "type": "string"
                                    }
                                  ],
                                  "description": "The number of inodes that the account may still use.",
                                  "example": 15872
                                },
                                "filesused": {
                                  "anyOf": [
                                    {
                                      "type": "integer"
                                    },
                                    {
                                      "type": "string"
                                    }
                                  ],
                                  "description": "The number of inodes that the account uses.",
                                  "example": 1024
                                },
                                "spacelimit": {
                                  "description": "The disk space, in bytes, that the account may use.",
                                  "example": "4718592.00",
                                  "type": "string"
                                },
                                "spaceremain": {
                                  "description": "The disk space, in bytes, that the account may still use.",
                                  "example": "2359296.00",
                                  "type": "string"
                                },
                                "spaceused": {
                                  "description": "The disk space, in bytes, that the account uses.",
                                  "example": "2359296.00",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "failed": {
                              "description": "The number of files that the system did not store.",
                              "example": 0,
                              "type": "integer"
                            },
                            "succeeded": {
                              "description": "The number of files that the system stored.",
                              "example": 1,
                              "type": "integer"
                            },
                            "uploads": {
                              "description": "One entry for each file in the request.",
                              "items": {
                                "properties": {
                                  "file": {
                                    "description": "The file's name.",
                                    "example": "example.png",
                                    "type": "string"
                                  },
                                  "reason": {
                                    "description": "A description of the outcome for this file.",
                                    "example": "Upload of “example.png” succeeded.",
                                    "type": "string"
                                  },
                                  "size": {
                                    "description": "The stored file's size, in bytes. The system returns `null` when the upload failed.",
                                    "example": 268,
                                    "nullable": true,
                                    "type": "integer"
                                  },
                                  "status": {
                                    "description": "* `1` - The system stored the file.\n* `0` - The upload failed. Check the `reason` value.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "warnings": {
                                    "description": "Non-critical problems, such as a failure to apply the file's ownership or permissions.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "warned": {
                              "description": "The number of files that produced warnings.",
                              "example": 0,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed. This function returns\none of the following errors:\n\n* `You must specify at least one file to upload.` - The\n  request contained no file. The system also returns\n  this error when it discarded the request's only file\n  for exceeding the `file_upload_max_bytes` limit or for\n  leaving less than `file_upload_must_leave_bytes` of\n  free space.\n* `Failed to upload any of the requested files with\n  various failures.` - Every file failed. Check each\n  entry's `reason` value in the `uploads` array.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "x-codeSamples": [
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "curl -F \"file-0=@/path/to/local.bin;filename=example.bin\" \\\n  -F \"dir=public_html\" \\\n  -F \"overwrite=1\" \\\n  -H \"Authorization: cpanel username:APITOKEN\" \\\n  https://hostname.example.com:2083/execute/Fileman/upload_files\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44",
        "x-cpanel-cli-support": false
      }
    },
    "/Ftp/add_ftp": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates an FTP account.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-add_ftp",
        "parameters": [
          {
            "description": "The new FTP account username.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "username",
              "type": "string"
            }
          },
          {
            "description": "Whether to strip dots (`.`) from the username.\n\n* `1` — Strip dots.\n* `0` — Do **not** strip dots.",
            "in": "query",
            "name": "disallowdot",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The FTP user's associated domain. This must be a domain that the cPanel account owns.\n\n**Note:**\n\nThis parameter defaults to the cPanel account's primary domain.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The path to the FTP account's root directory, relative to the cPanel account's home directory. If you don't set this, it defaults to a directory with the same name as the FTP account.",
            "in": "query",
            "name": "homedir",
            "required": false,
            "schema": {
              "example": "exampleftp",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "The new FTP account password.\n\n**Note:**\n\nYou can use the `pass_hash` parameter in place of this parameter. However, you **cannot** use both the `pass` and `pass_hash` parameters in the same request.",
            "in": "query",
            "name": "pass",
            "required": false,
            "schema": {
              "example": "123456luggage",
              "type": "string"
            }
          },
          {
            "description": "The account's password hash.\n\n**Note:**\n\n* You can use this parameter in place of the `pass` parameter. However, you **cannot** use both the `pass` and `pass_hash` parameters in the same request.\n* You can find your server's password hash type in the `/etc/sysconfig/authconfig` file.",
            "in": "query",
            "name": "pass_hash",
            "required": false,
            "schema": {
              "default": "",
              "example": "$6$1sOyHP5ZDYp3pGUz$R0TSgfPRHfDjT5PP5RJGv39FhiGTNNPvM7IFpCBjXijMmlMZk9yI8T3LqGuntc9fdKb5eX.lGL7wBS9e4DAWn/",
              "type": "string"
            }
          },
          {
            "description": "The FTP account's maximum disk usage quota, in megabytes (MB).\n\n**Note:**\n\nA value of `0` grants the FTP account unlimited disk space.",
            "in": "query",
            "name": "quota",
            "required": false,
            "schema": {
              "default": 0,
              "example": 42,
              "minimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_ftp",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "enum": [
                            null
                          ],
                          "example": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create FTP account",
        "tags": [
          "Ftp",
          "FTP Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  add_ftp \\\n  user='username2' \\\n  pass='123456luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/add_ftp?user=username"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_add_ftp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_add_ftp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/add_ftp/,\n    {\n        'user' => 'username',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_add_ftp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_add_ftp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'add_ftp',\n    array (\n        'user' => 'username',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/allows_anonymous_ftp": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether the account allows anonymous FTP connections.\n\n**Important:**\n\nWhen you disable the [*FTP* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-allows_anonymous_ftp",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "allows_anonymous_ftp",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "allows": {
                              "description": "Whether the cPanel account allows anonymous FTP connections.\n* `1` - Allowed.\n* `0` - **Not** allowed.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return if anonymous FTP connections allowed",
        "tags": [
          "Ftp",
          "FTP Server Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  allows_anonymous_ftp\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/allows_anonymous_ftp"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_allows_anonymous_ftp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_allows_anonymous_ftp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/allows_anonymous_ftp/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_allows_anonymous_ftp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_allows_anonymous_ftp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'allows_anonymous_ftp'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/allows_anonymous_ftp_incoming": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether the account allows inbound anonymous FTP transfers.\n\n**Important:**\n\n  When you disable the [*FTP* role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "Ftp-allows_anonymous_ftp_incoming",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "allows_anonymous_ftp_incoming",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "allows": {
                              "description": "Whether the cPanel account allows inbound anonymous FTP transfers.\n* `1` - Allowed.\n* `0` - Not allowed.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return if anonymous FTP transfers allowed",
        "tags": [
          "Ftp",
          "FTP Server Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  allows_anonymous_ftp_incoming\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/allows_anonymous_ftp_incoming"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_allows_anonymous_ftp_incoming.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_allows_anonymous_ftp_incoming.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/allows_anonymous_ftp_incoming/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_allows_anonymous_ftp_incoming.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_allows_anonymous_ftp_incoming.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'allows_anonymous_ftp_incoming'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/delete_ftp": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes an FTP account.\n\n**Important:**\n\nWhen you disable the [*FTP* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-delete_ftp",
        "parameters": [
          {
            "description": "The FTP account's username.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "username",
              "type": "string"
            }
          },
          {
            "description": "Whether to delete the FTP account's home directory.\n\n* `1` — Delete the home directory.\n* `0` — Do **not** delete the home directory.",
            "in": "query",
            "name": "destroy",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The user's associated domain.\n\n**Note:**\n\nThis parameter defaults to the cPanel account's primary domain.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_ftp",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete FTP account",
        "tags": [
          "Ftp",
          "FTP Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  delete_ftp \\\n  user='username2'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/delete_ftp?user=username"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_delete_ftp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_delete_ftp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/delete_ftp/,\n    {\n        'user' => 'username',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_delete_ftp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_delete_ftp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'delete_ftp',\n    array (\n        'user' => 'username',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/ftp_exists": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether an FTP account exists.\n\n**Note:**\n\nThis function returns only metadata if the FTP account exists, or an error if the FTP account does **not** exist.",
        "operationId": "Ftp-ftp_exists",
        "parameters": [
          {
            "description": "The FTP account's username.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "us_chickens",
              "type": "string"
            }
          },
          {
            "description": "The user's associated domain.\n\n**Note:**\n\nThis parameter defaults to the cPanel account's primary domain.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "ftp_exists",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether an FTP account exists",
        "tags": [
          "Ftp",
          "FTP Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  ftp_exists \\\n  user='us_chickens'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/ftp_exists?user=us_chickens"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_ftp_exists.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_ftp_exists.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/ftp_exists/,\n    {\n        'user' => 'us_chickens',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_ftp_exists.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_ftp_exists.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'ftp_exists',\n    array (\n        'user' => 'us_chickens',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/get_ftp_daemon_info": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the extended information about the server's FTP daemon.",
        "operationId": "Ftp-get_ftp_daemon_info",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_ftp_daemon_info",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "enabled": {
                              "description": "Whether the server's FTP daemon is enabled.\n\n* `1` – Enabled.\n* `0` – Disabled.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "name": {
                              "description": "The FTP server's name.\n\n* `pure-ftpd`\n* `proftpd`\n* An empty string.",
                              "enum": [
                                "pure-ftpd",
                                "proftpd",
                                ""
                              ],
                              "example": "pure-ftpd",
                              "type": "string"
                            },
                            "supports": {
                              "description": "This object contains the features that the FTP daemon supports.",
                              "properties": {
                                "login_without_domain": {
                                  "description": "Whether the FTP daemon supports username authentication without the user's domain.\n\n* `1` – Supported.\n* `0` – **Not** supported.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 0,
                                  "type": "integer"
                                },
                                "quota": {
                                  "description": "Whether the FTP daemon supports disk quotas.\n\n* `1` – Supported.\n* `0` – **Not** supported.",
                                  "enum": [
                                    0,
                                    1
                                  ],
                                  "example": 1,
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return FTP server's information",
        "tags": [
          "Ftp",
          "FTP Server Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  get_ftp_daemon_info\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/get_ftp_daemon_info"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_get_ftp_daemon_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_get_ftp_daemon_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/get_ftp_daemon_info/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_get_ftp_daemon_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_get_ftp_daemon_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'get_ftp_daemon_info'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/Ftp/get_port": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the FTP port.\n\n**Important:**\n\n  When you disable the [*FTP* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-get_port",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_port",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "port": {
                              "description": "The FTP port.",
                              "example": 21,
                              "maximum": 65335,
                              "minimum": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return FTP server's port",
        "tags": [
          "Ftp",
          "FTP Server Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  get_port\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/get_port"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_get_port.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_get_port.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/get_port/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_get_port.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_get_port.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'get_port'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/get_quota": {
      "get": {
        "x-readonly": true,
        "description": "This function checks an FTP account's quota.\n\n**Important:**\n\n  When you disable the [_FTP role_](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-get_quota",
        "parameters": [
          {
            "description": "The FTP account's username.",
            "in": "query",
            "name": "account",
            "required": true,
            "schema": {
              "example": "user1",
              "type": "string"
            }
          },
          {
            "description": "The user's associated domain.\n\n**Note:**\n\nThis parameter defaults to the cPanel account's primary domain.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_quota",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The FTP account's quota.\n* `unlimited`\n* A positive integer that represents the maximum amount of disk space that the FTP account can use, in megabytes (MB).",
                          "example": "unlimited",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return FTP account's quota",
        "tags": [
          "Ftp",
          "FTP Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  get_quota \\\n  account='user1'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/get_quota?account=user1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_get_quota.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_get_quota.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/get_quota/,\n    {\n        'account' => 'user1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_get_quota.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_get_quota.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'get_quota',\n    array (\n        'account' => 'user1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/get_welcome_message": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the cPanel account's FTP welcome message.\n\n**Important:**\n\n  When you disable the [*FTP* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-get_welcome_message",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_welcome_message",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The cPanel account's FTP welcome message.",
                          "example": "Greetings, Professor Falken.",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return FTP account's welcome message",
        "tags": [
          "Ftp",
          "FTP Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  get_welcome_message\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/get_welcome_message"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_get_welcome_message.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_get_welcome_message.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/get_welcome_message/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_get_welcome_message.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_get_welcome_message.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'get_welcome_message'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/kill_session": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function kills FTP sessions.\n\n**Important:**\n\n  When you disable the [*FTP* Role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-kill_session",
        "parameters": [
          {
            "description": "The username for the session's FTP account.\n\n**Note:**\n\n  To stop all FTP sessions for the cPanel account, set this parameter to the `all` value.",
            "in": "query",
            "name": "login",
            "required": false,
            "schema": {
              "default": "all",
              "example": "weeones",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "kill_session",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Stop FTP session",
        "tags": [
          "Ftp",
          "FTP Server Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  kill_session\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/kill_session"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_kill_session.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_kill_session.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/kill_session/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_kill_session.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_kill_session.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'kill_session'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/list_ftp": {
      "get": {
        "x-readonly": true,
        "description": "This function lists FTP account information.\n\n**Important:**\n\nWhen you disable the [*FTP* role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function. For more information, read our How to Use Server Profiles documentation.",
        "operationId": "Ftp-list_ftp",
        "parameters": [
          {
            "description": "A list of the FTP account types to include in the function's results.\n\n* `anonymous`\n* `logaccess`\n* `main`\n* `sub`\n\nIf you do not specify this parameter, this function returns all FTP account\ntypes.\n\n**Note:**\n\n* Separate multiple types with the pipe character (`|`).\n* In browser-based calls, use `%7C`.",
            "in": "query",
            "name": "include_acct_types",
            "required": false,
            "schema": {
              "example": "main|anonymous",
              "type": "string"
            }
          },
          {
            "description": "A list of the FTP account types to exclude from the function's\nresults.\n\n* `anonymous`\n* `logaccess`\n* `main`\n* `sub`\n\nIf you do not specify this parameter, this function does **not** exclude\nany account types.\n\n**Note:**\n\n* Separate multiple types with the pipe character (`|`).\n* In browser-based calls, use `%7C`.",
            "in": "query",
            "name": "skip_acct_types",
            "required": false,
            "schema": {
              "example": "main|anonymous",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_ftp",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "homedir": {
                                "description": "The absolute path to the FTP account's document root.",
                                "example": "/home/user/public_html/ftp/",
                                "format": "path",
                                "type": "string"
                              },
                              "type": {
                                "description": "The type of FTP account.\n\n* `anonymous`\n* `logaccess`\n* `main`\n* `sub`",
                                "enum": [
                                  "anonymous",
                                  "logaccess",
                                  "main",
                                  "sub"
                                ],
                                "example": "main",
                                "type": "string"
                              },
                              "user": {
                                "description": "The username for an FTP account on the cPanel account.",
                                "example": "ftpaccount",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return FTP accounts",
        "tags": [
          "Ftp",
          "FTP Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  list_ftp\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/list_ftp"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_list_ftp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_list_ftp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/list_ftp/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_list_ftp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_list_ftp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'list_ftp'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/list_ftp_with_disk": {
      "get": {
        "x-readonly": true,
        "description": "This function lists FTP account and disk usage information.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-list_ftp_with_disk",
        "parameters": [
          {
            "description": "A pipe-delimited list of the FTP account types to include in the function's results.\nIf you do not specify this parameter, the function returns all FTP account types.\n\nValid types for this list are:\n\n* `anonymous`\n* `logaccess`\n* `main`\n* `sub`",
            "in": "query",
            "name": "include_acct_types",
            "required": false,
            "schema": {
              "example": "main|anonymous",
              "type": "string"
            }
          },
          {
            "description": "A pipe-delimited list of the FTP account types to exclude from the function's\nresults. If you do not specify this parameter, the function does **not** exclude\nany account types.\n\nValid types for this list are:\n\n* `anonymous`\n* `logaccess`\n* `main`\n* `sub`",
            "in": "query",
            "name": "skip_acct_types",
            "required": false,
            "schema": {
              "example": "main|anonymous",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_ftp_with_disk",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "_diskquota": {
                                "description": "The FTP account's quota in megabytes, with two digits of fractional precision,\nencoded as a string. `0.00` means that the quota is unlimited.\n\n**Note:**\n\nThis value is different from the value for `diskquota`.",
                                "example": "476.84",
                                "format": "^\\d+\\.\\d+$",
                                "type": "string"
                              },
                              "_diskused": {
                                "description": "The amount of disk space in megabytes that the account currently uses,\nwith two digits of fractional precision, encoded as a string.\n\n**Note:**\n\nThis value is the same as the value for `diskused`.",
                                "example": "2.34",
                                "format": "^\\d+\\.\\d+$",
                                "type": "string"
                              },
                              "accttype": {
                                "description": "The type of FTP account.\n\n* `anonymous`\n* `logaccess`\n* `main`\n* `sub`",
                                "enum": [
                                  "anonymous",
                                  "logaccess",
                                  "main",
                                  "sub"
                                ],
                                "example": "sub",
                                "type": "string"
                              },
                              "deleteable": {
                                "description": "Whether the function's caller can delete the account.\n\n* `1` – The caller can delete the account.\n* `0` – The caller **cannot** delete the account.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "dir": {
                                "description": "The absolute path to the FTP account's document root.",
                                "example": "/home/user/public_ftp",
                                "type": "string"
                              },
                              "diskquota": {
                                "description": "The FTP account's quota.\n\n* `unlimited`\n* The disk quota in megabytes, with two digits of fractional precision, encoded as a string.\n\n**Note:**\n\nThis value is different from the value for `_diskquota`.",
                                "example": "476.84",
                                "oneOf": [
                                  {
                                    "enum": [
                                      "unlimited"
                                    ],
                                    "type": "string"
                                  },
                                  {
                                    "format": "^\\d+\\.\\d+$",
                                    "type": "string"
                                  }
                                ]
                              },
                              "diskused": {
                                "description": "The amount of disk space in megabytes that the account currently uses,\nwith two digits of fractional precision, encoded as a string.\n\n**Note:**\n\nThis value is the same as the value for `_diskused`.",
                                "example": "2.34",
                                "format": "^\\d+\\.\\d+$",
                                "type": "string"
                              },
                              "diskusedpercent": {
                                "description": "The percentage of the disk space quota that the account currently uses.",
                                "example": 21,
                                "type": "integer"
                              },
                              "diskusedpercent20": {
                                "description": "The percentage of disk space that the account currently uses, rounded in 20 percent increments.",
                                "example": 20,
                                "maximum": 100,
                                "minimum": 0,
                                "multipleOf": 20,
                                "type": "integer"
                              },
                              "htmldir": {
                                "description": "The path to the FTP account's HTML directory.",
                                "example": null,
                                "nullable": true,
                                "type": "string"
                              },
                              "humandiskquota": {
                                "description": "The FTP account's quota, in human-readable format.\n\n* `None` — The function returns this value if the account has an unlimited quota.\n* The quota in megabytes (MB), a space, and the characters `MB`.",
                                "example": "477 MB",
                                "type": "string"
                              },
                              "humandiskused": {
                                "description": "The amount of disk space that the account currently uses, in\nhuman-readable format. The function formats this value as the\nquota's size, a space, and the characters `MB`.",
                                "example": "2 MB",
                                "type": "string"
                              },
                              "login": {
                                "description": "The FTP account username.",
                                "example": "ftpaccount",
                                "type": "string"
                              },
                              "reldir": {
                                "description": "The path to the FTP account's document root,\nrelative to the cPanel account's home directory.",
                                "example": "public_ftp",
                                "type": "string"
                              },
                              "serverlogin": {
                                "description": "The full FTP login username.",
                                "example": "ftpaccount@example.com",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return FTP accounts and disk usage",
        "tags": [
          "Ftp",
          "FTP Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  list_ftp_with_disk\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/list_ftp_with_disk"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_list_ftp_with_disk.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_list_ftp_with_disk.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/list_ftp_with_disk/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_list_ftp_with_disk.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_list_ftp_with_disk.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'list_ftp_with_disk'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/list_sessions": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the FTP server's active sessions.\n\n**Important:**\n\n  When you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-list_sessions",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_sessions",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "cmdline": {
                                "description": "Information about the FTP process, from the `ps` ([process status](http://www.linfo.org/ps.html)) command.",
                                "example": "pure-ftpd (IDLE)",
                                "type": "string"
                              },
                              "file": {
                                "description": "The file that the session is processing.\n\n**Note:**\n\nThe function returns a blank value if the session is idle.",
                                "example": "",
                                "type": "string"
                              },
                              "host": {
                                "description": "The IP address or hostname that connected to the FTP server.",
                                "example": "localhost",
                                "oneOf": [
                                  {
                                    "format": "ipv4",
                                    "type": "string"
                                  },
                                  {
                                    "format": "domain",
                                    "type": "string"
                                  }
                                ]
                              },
                              "login": {
                                "description": "The FTP session login time.",
                                "example": "Tue Apr 23 16:23:23 2020",
                                "type": "string"
                              },
                              "pid": {
                                "description": "The session's PID.",
                                "example": 6735,
                                "minimum": 1,
                                "type": "integer"
                              },
                              "status": {
                                "description": "The session's status.\n- `IDLE` - The session is connected, but idle.\n- `DL` - A download is in progress.\n- `UL` - An upload is in progress.",
                                "enum": [
                                  "IDLE",
                                  "DL",
                                  "UL"
                                ],
                                "example": "IDLE",
                                "type": "string"
                              },
                              "user": {
                                "description": "The FTP account username.",
                                "example": "ftpaccount",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return FTP server's active sessions",
        "tags": [
          "Ftp",
          "FTP Server Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  list_sessions\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/list_sessions"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_list_sessions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_list_sessions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/list_sessions/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_list_sessions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_list_sessions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'list_sessions'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/passwd": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function changes an FTP account's password.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-passwd",
        "parameters": [
          {
            "description": "The FTP account's new password.",
            "in": "query",
            "name": "pass",
            "required": true,
            "schema": {
              "example": "12345luggage",
              "type": "string"
            }
          },
          {
            "description": "The FTP account username.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "ftpaccount",
              "type": "string"
            }
          },
          {
            "description": "The user's associated domain.\n\n**Note:**\n\nThis parameter defaults to the cPanel account's primary domain",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "passwd",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update FTP account's password",
        "tags": [
          "Ftp",
          "FTP Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  passwd \\\n  user='ftpaccount' \\\n  pass='123456luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/passwd?user=ftpaccount&pass=12345luggage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_passwd.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_passwd.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/passwd/,\n    {\n        'user' => 'ftpaccount',\n        'pass' => '12345luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_passwd.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_passwd.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'passwd',\n    array (\n        'user' => 'ftpaccount',\n        'pass' => '12345luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/server_name": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether the server uses ProFTPD or Pure-FTPd.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-server_name",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "server_name",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The FTP server.\n* `pure-ftpd` - The Pure-FTPD server.\n* `proftpd` - The ProFTPD FTP server.\n* `disabled` - FTP has been disabled on this server.",
                          "enum": [
                            "pure-ftpd",
                            "proftpd",
                            "disabled"
                          ],
                          "example": "pure-ftpd",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether server uses ProFTPD or Pure-FTPd",
        "tags": [
          "Ftp",
          "FTP Server Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  server_name\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/server_name"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_server_name.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_server_name.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/server_name/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_server_name.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_server_name.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'server_name'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/set_anonymous_ftp": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables or disables anonymous FTP logins.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-set_anonymous_ftp",
        "parameters": [
          {
            "description": "Whether to enable or disable anonymous FTP logins.\n\n* `1` - Enable.\n* `0` - Disable.",
            "in": "query",
            "name": "set",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_anonymous_ftp",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable or disable anonymous FTP logins",
        "tags": [
          "Ftp",
          "FTP Server Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  set_anonymous_ftp\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/set_anonymous_ftp"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_set_anonymous_ftp.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_set_anonymous_ftp.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/set_anonymous_ftp/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_set_anonymous_ftp.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_set_anonymous_ftp.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'set_anonymous_ftp'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/set_anonymous_ftp_incoming": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables or disables inbound anonymous FTP transfers.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-set_anonymous_ftp_incoming",
        "parameters": [
          {
            "description": "Whether to enable or disable inbound anonymous FTP transfers.\n\n* `1` - Enable.\n* `0` - Disable.",
            "in": "query",
            "name": "set",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_anonymous_ftp_incoming",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable or disable anonymous incoming FTP transfers",
        "tags": [
          "Ftp",
          "FTP Server Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  set_anonymous_ftp_incoming\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/set_anonymous_ftp_incoming"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_set_anonymous_ftp_incoming.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_set_anonymous_ftp_incoming.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/set_anonymous_ftp_incoming/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_set_anonymous_ftp_incoming.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_set_anonymous_ftp_incoming.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'set_anonymous_ftp_incoming'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/set_homedir": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function changes the home directory for FTP accounts.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-set_homedir",
        "parameters": [
          {
            "description": "The FTP account username.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "example1",
              "type": "string"
            }
          },
          {
            "description": "The user's associated domain.\n\n**Note:**\n\nThe default value is the cPanel account's primary domain.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The FTP account's home directory\n\n**Note:**\n\nThis parameter defaults to the `user@domain` subdirectory in the cPanel account's home directory with the name, where user and domain represent the `user` and `domain` parameters.",
            "in": "query",
            "name": "homedir",
            "required": false,
            "schema": {
              "default": "user@domain/",
              "example": "example1/",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_homedir",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update FTP account's home directory",
        "tags": [
          "Ftp",
          "FTP Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  set_homedir \\\n  user='example1'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/set_homedir?user=example1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_set_homedir.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_set_homedir.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/set_homedir/,\n    {\n        'user' => 'example1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_set_homedir.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_set_homedir.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'set_homedir',\n    array (\n        'user' => 'example1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/Ftp/set_quota": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function changes an FTP account's quota.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-set_quota",
        "parameters": [
          {
            "description": "The FTP account username.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "ftpaccount",
              "type": "string"
            }
          },
          {
            "description": "The user's associated domain.\n\n**Note:**\n\nThe default value is the cPanel account's primary domain.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "Whether to disable quotas for the FTP account.\n* `1` - Disable quotas.\n* `0` - Enable quotas.\n\n**Note:**\n\n If you disable quotas for an FTP account, you grant that account unlimited disk space.",
            "in": "query",
            "name": "kill",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "The new quota, in megabytes.\n\n**Note:**\n\nSetting this parameter to `0` grants the account unlimited disk space.",
            "in": "query",
            "name": "quota",
            "required": false,
            "schema": {
              "default": 0,
              "example": 500,
              "minimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_quota",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update FTP account's quota",
        "tags": [
          "Ftp",
          "FTP Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  set_quota \\\n  user='ftpaccount'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/set_quota?user=ftpaccount"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_set_quota.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_set_quota.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/set_quota/,\n    {\n        'user' => 'ftpaccount',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_set_quota.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_set_quota.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'set_quota',\n    array (\n        'user' => 'ftpaccount',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Ftp/set_welcome_message": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sets the FTP welcome message.\n\n**Important:**\n\nWhen you disable the [FTP role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Ftp-set_welcome_message",
        "parameters": [
          {
            "description": "The cPanel account's new FTP welcome message.",
            "in": "query",
            "name": "message",
            "required": true,
            "schema": {
              "example": "Greetings, Professor Falken.",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_welcome_message",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Ftp",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update FTP welcome message",
        "tags": [
          "Ftp",
          "FTP Accounts"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Ftp \\\n  set_welcome_message \\\n  message='Greetings, Professor Falken.'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Ftp/set_welcome_message?message=Greetings%2c%20Professor%20Falken."
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Ftp_set_welcome_message.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Ftp_set_welcome_message.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Ftp/,\n    q/set_welcome_message/,\n    {\n        'message' => 'Greetings, Professor Falken.',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Ftp_set_welcome_message.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Ftp_set_welcome_message.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Ftp',\n    'set_welcome_message',\n    array (\n        'message' => 'Greetings, Professor Falken.',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/GPG/delete_keypair": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes a GnuPG (GPG) key pair.",
        "operationId": "GPG-delete_keypair",
        "parameters": [
          {
            "description": "The ID of the GPG key that you wish to delete.\n\n**Note:**\n\n* The function will delete **all** keys that match this ID.\n  * If you set this parameter to a public key, the function will delete the public key. \n  * If you set this parameter to a public and private key pair, the function will delete the public and private keys.\n* To obtain the desired key, call the UAPI `GPG::list_secret_keys` function.",
            "in": "query",
            "name": "key_id",
            "required": true,
            "schema": {
              "example": "ACFFDB37176B680D",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_keypair",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "GPG",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete GnuPG key pair",
        "tags": [
          "GPG",
          "Signing and Encryption (GnuPG Keys)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  delete_keypair \\\n  key_id='ACFFDB37176B680D'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/GPG/delete_keypair?key_id=ACFFDB37176B680D"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_delete_keypair.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_delete_keypair.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/delete_keypair/,\n    {\n        'key_id' => 'ACFFDB37176B680D',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_delete_keypair.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_delete_keypair.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'delete_keypair',\n    array (\n        'key_id' => 'ACFFDB37176B680D',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/GPG/export_public_key": {
      "get": {
        "x-readonly": true,
        "description": "This function exports a GnuPG (GPG) public key.",
        "operationId": "GPG-export_public_key",
        "parameters": [
          {
            "description": "The ID of the GPG key.",
            "in": "query",
            "name": "key_id",
            "required": true,
            "schema": {
              "example": "48BEA5A16FCA746E",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "export_public_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "GPG",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "key_data": {
                              "description": "The GPG public key's contents.",
                              "example": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v2.0.22 (GNU/Linux)\n\nmQMuBFzwFyMRCADgNf7GHvCgb2/HWBYVAzu408eXEO4ucWGfbD5c5BOHg7WBVOkh\nj+J0HYaeh9FwOXLJAzesiGtTU/HQ5wNkBbKRYR2oNEUbiefBgQhjllIGJNnFCQbD\nTcyxXjKUF4aQBw6InqzM9akVChLvGoCfom/y1fcwrQ5OQ46EEjhe9lSnj1E2DIi+\n0PvOsWeehChtn28WkmXPcl+XovfsCl5vh2RnJQeJwkSwBogA1GObj9fnPBbrIUt2\nF5JDaJ7/R8aDwV1Pg2mBmRqTBIKvx6gxEQgCL52OWCKVJfqy5oVGDl/2u0BGCaRt\n3Tnh9B14Lk8frBaOjYMtMq1Rl3rPDc3KCRnLAQC6dMNJCxIoyfeEFqj0HgwHETYn\nQNGwUaRrOGKLJbMnewf/Yq0S2R6YvMl8pDQeSExYJaqv/u2Hch6GM0f3CSvMnPSg\noB2c/h4MmhmiAbymSO5GBaM4Nx3NTNYU0JpghkTTJpucFZ8hK/aJ8PDQzBnS0zTY\nF8ZqSMFL84QB1NTd1nlJnilpKCkBC6NHUh76IyLQEsH7jgOG9L28qnLxm8bGHwaJ\nmhEH2Y859WzN9hUTZEMxdklI8uwdI+msI7md0uNYiWr5svtM+rrpU+LCZMG+nTCy\n6q0CNLXM0T0Fa642mYSqV307Ouv5rjGvfohIOo5X8ikBoEIOAQk6LX800OzzYGG4\nX75Q4irMuehEK3tId5VIRToy9MRLP6fyOVHwfhzD6Af/R2TJjIdEkEGdspuw9875\nN4z9xV2QNVNgURIOutrfeKSbb7gRLgV7TWpKWItMoEO1njzb4YqoHwcAASj4TDaT\niCYun6u12Mb97L0S3QDaD3sLk7P5sZvnO//k/YxbGISv+HGl5rSF87kVectLYpAL\nehL2EBmyxP4nxhSDOqhc0rbaqOZ+b4F1ns4NsUJjxIqQJZ+ovTqkmKnh3YbBeMAb\nsPcjyfQNmYE9qFXw17vJMm6ypNsuDIvxKCDq4QpO3/MujYX0Hg7aGOq4aWtndcL0\nPfpukTLvTA+AedMj+0QHWiP15bSxCJKqa0O62mKWnrzL0Tju8FKTwVHgRoW57GY/\nZbQmYmVuZGVyIChpcyBncmVhdCkgPGJlbmRlckBleGFtcGxlLmNvbT6IgQQTEQgA\nKQUCXPAXIwIbIwUJAeEzgAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEEi+\npaFvynRuACUA/1/usChuLicDwCbBlJpcYWaAkt4bC4z+wFAONKnwwlHoAQCq3GRM\nto4CkoB6pK1Zh+s5SitojUFrKEj8CJNkAQOGaLkCDQRc8BcjEAgA4CY3AKnkIvSz\nfcsFCf1NmZipQGLChs3iIhqa3NPiopYpYMNTdCZkkDMSDM40+d/LthpYnbzYVgPB\nN9OFMdL/ndf/yu0jPEZE1uEpxvH1X/x2IecMy7wm51usxpBWwSw7BTLfA9ASzDtH\n8fnkid2qY2J6fNWZDA5wrNR4auVKDkqKsatMC75GkHcT2NevLdh8SuYH60kQsmvD\nOkuE4ufIwzlnQ4HFKsYTxn6QIQY18entu563f+RCoUCNv2J0zxXFzvy+eo568+Uh\nx4Irz9OQRNUh/82a2HF10oUvkPEtCDlMy8gISEqnU1i2Ry8IsbUrvhz+my5yb5Gm\nZz+xOKWTiwADBQf/YOYKvHIWw4/vsbLUPMmjDdMfsnT0haDlLerCSHhY+ZLzYQdz\n/7hC4Qt/5EvaGeXkwAPzr0T4PvVOQUUAiskvDNScYQxS5KxyrHAqoKkF4EDJ9MyK\nDqEN6dF9IDOxuA1g0cOX7THPm3GjRh3BjOaHnN5jXKwT85Cs7hj7u1q9Cm59RUzJ\nwRKyxo9eR3pJMR+8E0VW8oRe/7O/Qvh54ShD7NkfgUhIWcriR9MjoGp0gnpCOH52\nLrfdczCIzAoUC4Q3Jm80sCeZAqf4CNHZ0TxqxuwG+ZkfbCBViM4TVXDEufA4IENM\nmEu2bNWDLkRrrNme+S4HEeNRuSg8EOpFUuwPI4hnBBgRCAAPBQJc8BcjAhsMBQkB\n4TOAAAoJEEi+paFvynRu0YsA/0rluXh9ij3Np4O/KWuL2L8zcOrJJ7mNFuw0wkpY\nfZ3NAP9ayHG+70XellsQ/E3lR8fkRwqDDRh43w7ukhJEfkcY9A==\n=yyST\n-----END PGP PUBLIC KEY BLOCK-----\n",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Export GnuPG public key",
        "tags": [
          "GPG",
          "Signing and Encryption (GnuPG Keys)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  export_public_key \\\n  key_id='48BEA5A16FCA746E'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/GPG/export_public_key?key_id=48BEA5A16FCA746E"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_export_public_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_export_public_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/export_public_key/,\n    {\n        'key_id' => '48BEA5A16FCA746E',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_export_public_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_export_public_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'export_public_key',\n    array (\n        'key_id' => '48BEA5A16FCA746E',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/GPG/export_secret_key": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function exports a GnuPG (GPG) secret key.",
        "operationId": "GPG-export_secret_key",
        "parameters": [
          {
            "description": "The ID of the GPG secret key that you wish to retrieve.",
            "in": "query",
            "name": "key_id",
            "required": true,
            "schema": {
              "example": "48BEA5A16FCA746E",
              "type": "string"
            }
          },
          {
            "description": "The passphrase of the GPG secret key that you wish to retrieve.",
            "in": "query",
            "name": "passphrase",
            "required": false,
            "schema": {
              "example": "whatever",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "export_secret_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "GPG",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "key_data": {
                              "description": "The GPG key's contents.",
                              "example": "-----BEGIN PGP PRIVATE KEY BLOCK-----\nVersion: GnuPG v2.0.22 (GNU/Linux)\n\nlQNTBFzwFyMRCADgNf7GHvCgb2/HWBYVAzu408eXEO4ucWGfbD5c5BOHg7WBVOkh\nj+J0HYaeh9FwOXLJAzesiGtTU/HQ5wNkBbKRYR2oNEUbiefBgQhjllIGJNnFCQbD\nTcyxXjKUF4aQBw6InqzM9akVChLvGoCfom/y1fcwrQ5OQ46EEjhe9lSnj1E2DIi+\n0PvOsWeehChtn28WkmXPcl+XovfsCl5vh2RnJQeJwkSwBogA1GObj9fnPBbrIUt2\nF5JDaJ7/R8aDwV1Pg2mBmRqTBIKvx6gxEQgCL52OWCKVJfqy5oVGDl/2u0BGCaRt\n3Tnh9B14Lk8frBaOjYMtMq1Rl3rPDc3KCRnLAQC6dMNJCxIoyfeEFqj0HgwHETYn\nQNGwUaRrOGKLJbMnewf/Yq0S2R6YvMl8pDQeSExYJaqv/u2Hch6GM0f3CSvMnPSg\noB2c/h4MmhmiAbymSO5GBaM4Nx3NTNYU0JpghkTTJpucFZ8hK/aJ8PDQzBnS0zTY\nF8ZqSMFL84QB1NTd1nlJnilpKCkBC6NHUh76IyLQEsH7jgOG9L28qnLxm8bGHwaJ\nmhEH2Y859WzN9hUTZEMxdklI8uwdI+msI7md0uNYiWr5svtM+rrpU+LCZMG+nTCy\n6q0CNLXM0T0Fa642mYSqV307Ouv5rjGvfohIOo5X8ikBoEIOAQk6LX800OzzYGG4\nX75Q4irMuehEK3tId5VIRToy9MRLP6fyOVHwfhzD6Af/R2TJjIdEkEGdspuw9875\nN4z9xV2QNVNgURIOutrfeKSbb7gRLgV7TWpKWItMoEO1njzb4YqoHwcAASj4TDaT\niCYun6u12Mb97L0S3QDaD3sLk7P5sZvnO//k/YxbGISv+HGl5rSF87kVectLYpAL\nehL2EBmyxP4nxhSDOqhc0rbaqOZ+b4F1ns4NsUJjxIqQJZ+ovTqkmKnh3YbBeMAb\nsPcjyfQNmYE9qFXw17vJMm6ypNsuDIvxKCDq4QpO3/MujYX0Hg7aGOq4aWtndcL0\nPfpukTLvTA+AedMj+0QHWiP15bSxCJKqa0O62mKWnrzL0Tju8FKTwVHgRoW57GY/\nZQABALMunDJSN+b/VyFzqifGvopLxJFqA4un4WjGEY9jvJooD7e0JmJlbmRlciAo\naXMgZ3JlYXQpIDxiZW5kZXJAZXhhbXBsZS5jb20+iIEEExEIACkFAlzwFyMCGyMF\nCQHhM4AHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRBIvqWhb8p0bgAlAP9f\n7rAobi4nA8AmwZSaXGFmgJLeGwuM/sBQDjSp8MJR6AEAqtxkTLaOApKAeqStWYfr\nOUoraI1BayhI/AiTZAEDhmidAj0EXPAXIxAIAOAmNwCp5CL0s33LBQn9TZmYqUBi\nwobN4iIamtzT4qKWKWDDU3QmZJAzEgzONPnfy7YaWJ282FYDwTfThTHS/53X/8rt\nIzxGRNbhKcbx9V/8diHnDMu8JudbrMaQVsEsOwUy3wPQEsw7R/H55IndqmNienzV\nmQwOcKzUeGrlSg5KirGrTAu+RpB3E9jXry3YfErmB+tJELJrwzpLhOLnyMM5Z0OB\nxSrGE8Z+kCEGNfHp7buet3/kQqFAjb9idM8Vxc78vnqOevPlIceCK8/TkETVIf/N\nmthxddKFL5DxLQg5TMvICEhKp1NYtkcvCLG1K74c/psucm+Rpmc/sTilk4sAAwUH\n/2DmCrxyFsOP77Gy1DzJow3TH7J09IWg5S3qwkh4WPmS82EHc/+4QuELf+RL2hnl\n5MAD869E+D71TkFFAIrJLwzUnGEMUuSscqxwKqCpBeBAyfTMig6hDenRfSAzsbgN\nYNHDl+0xz5txo0YdwYzmh5zeY1ysE/OQrO4Y+7tavQpufUVMycESssaPXkd6STEf\nvBNFVvKEXv+zv0L4eeEoQ+zZH4FISFnK4kfTI6BqdIJ6Qjh+di633XMwiMwKFAuE\nNyZvNLAnmQKn+AjR2dE8asbsBvmZH2wgVYjOE1VwxLnwOCBDTJhLtmzVgy5Ea6zZ\nnvkuBxHjUbkoPBDqRVLsDyMAAVIC+56gmf2bW2mDuoFFUW6KT6jorvvbmXSZHi1L\nAGhQj/Q83gRejq2g+DYiFlCIZwQYEQgADwUCXPAXIwIbDAUJAeEzgAAKCRBIvqWh\nb8p0btGLAPsFHEqEg/qrEpjFu/9B8KvBWBgqIJm9XtDgaVaaHjzR4AD/XcrEvMuc\nPVYssXICwKbDwxWEYqhpI6ms0IOob0PH8hE=\n=W2NA\n-----END PGP PRIVATE KEY BLOCK-----",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success.\n- 0 - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Export GnuPG secret key",
        "tags": [
          "GPG",
          "Signing and Encryption (GnuPG Keys)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  export_secret_key \\\n  key_id='48BEA5A16FCA746E'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/GPG/export_secret_key?key_id=48BEA5A16FCA746E"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_export_secret_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_export_secret_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/export_secret_key/,\n    {\n        'key_id' => '48BEA5A16FCA746E',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_export_secret_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_export_secret_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'export_secret_key',\n    array (\n        'key_id' => '48BEA5A16FCA746E',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/GPG/generate_key": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function generates a GnuPG (GPG) key. The system saves the key in the user's `.gnupg` directory.\n\n**Note:**\n\nThis function uses [the system's entropy](https://en.wikipedia.org/wiki/Entropy_(computing)) to generate the key. Systems with low entropy levels may cause long generation times or timeouts.",
        "operationId": "GPG-generate_key",
        "parameters": [
          {
            "description": "The user's email address.",
            "in": "query",
            "name": "email",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "The name of the user for whom to generate the key.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "username",
              "format": "username",
              "type": "string"
            }
          },
          {
            "description": "The key's password.",
            "in": "query",
            "name": "passphrase",
            "required": true,
            "schema": {
              "example": "123456luggage",
              "type": "string"
            }
          },
          {
            "description": "A comment about the key.",
            "in": "query",
            "name": "comment",
            "required": false,
            "schema": {
              "example": "Username's Key",
              "type": "string"
            }
          },
          {
            "description": "The desired expiration date of the key\nas a timestamp in [Unix time format](http://en.wikipedia.org/wiki/Unix_time).\n\n**Note:**\n\nThis will default to one year from the current date.",
            "in": "query",
            "name": "expire",
            "required": false,
            "schema": {
              "example": "1560363242",
              "type": "string"
            }
          },
          {
            "description": "The new key's size, in bytes.\n\n**Note:**\n\nLarge keys require more time to generate.",
            "in": "query",
            "name": "keysize",
            "required": false,
            "schema": {
              "default": 2048,
              "enum": [
                1024,
                2048,
                3072,
                4096
              ],
              "example": 2048,
              "maximum": 4096,
              "minimum": 1024,
              "type": "integer"
            }
          },
          {
            "description": "Whether to generate the key without an expiration date.\n\n* `0` - The key will expire.\n* `1` - The key will **not** expire.",
            "in": "query",
            "name": "no_expire",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "generate_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "GPG",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create GnuPG key",
        "tags": [
          "GPG",
          "Signing and Encryption (GnuPG Keys)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  generate_key \\\n  name='username' \\\n  email='user@example.com'\n  passphrase='123456luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/GPG/generate_key?name=username&email=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_generate_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_generate_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/generate_key/,\n    {\n        'name' => 'username',\n        'email' => 'user@example.com',\n        'passphrase' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_generate_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_generate_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'generate_key',\n    array (\n        'name' => 'username',\n        'email' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/GPG/import_key": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function imports a GnuPG (GPG) key.",
        "operationId": "GPG-import_key",
        "parameters": [
          {
            "description": "The key to import.\n\n**Note:**\n\nYou must URI-encode this value.",
            "in": "query",
            "name": "key_data",
            "required": true,
            "schema": {
              "example": "%0A-----BEGIN%20PGP%20PUBLIC%20KEY%20BLOCK-----%0AVersion%3A%20GnuPG%20v2.0.14%20(GNU%2FLinux)%0A%0AmQENBFN0%2BOsBCADoFvyf8gHIKZ%2F%2B5KwbWb3Ht%2Fz1ukyQqFNGpBVIqHossmjmyF9e%0APn6iiZ0fHnt7r6XGGXaP%2BKKjIxAcqOTiFiP%2BHIx6GQubzVih6Ol0YNjzmK%2Ft4f%2B4%0AfSElEVnyzeyJa4LmC%2Fui%2FvvtptJ8JX6su7f11BwUTSyuqnk204AfN5uVpAcZNPT0%0A0qNNky1bxYvPUxU6Imvi1q3NtpFzqsQ4u%2FyZuLpUe7uwmgMPeO0lAms1kCa3Guot%0A3mfSt0vrUAMdcV4drY1FGtYZdYSa4rSTzpFuB7o9Ze%2BE3fUbCWs1%2B0FiN3JQNGO1%0AS2lnqjEqbpz2nHtA50elJRGqxZLEi8zkFqlTABEBAAG0Z2NQYW5lbCBTZWN1cml0%0AeSBUZWFtIC0gVEVTVCAoVEhJUyBJUyBBIFRFU1QgS0VZOyBETyBOT1QgVVNFIEZP%0AUiBBTllUSElORyBSRUFMISkgPHNlY3RlYW1zaXhAY3BhbmVsLm5ldD6JAT4EEwEC%0AACgFAlN0%2BOsCGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOhU%0A60c9RtoRkhMIAIe2yDKj55mGD3zbuGqxx6NNNIyiuEujw31N8yOS9BKTqGtIiK9i%0AGu4lzrzmHISKi0rjKmJdbckap7OouUoo9WR3ewjN6S5EHyjKfrrMwMzTWMPZOkTj%0A7A698X0vGc9yZ6KyBj8mM8J9duvNtRS285hfXfQxYO%2FuiyrJGBedI%2FWVZ3a7mcfq%0A7FhC8t6jU6sz9uIvYHAzywcVdmhEK5rS%2FuE%2F9e37h46jn2%2BkzlIWEe%2FYgpa%2BuWdT%0AO%2BOyqteW51LEjXLWMyP8AJEq8EoqbqKnm4Q1g0etOQ9trrkLUnPxaSwD5R6i4KLH%0AMR%2Fh7m%2FOoz8yOhUlrCGJwX7v9qDEdaYYFLQ%3D%0A%3DMEFZ%0A-----END%20PGP%20PUBLIC%20KEY%20BLOCK-----%0A",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "import_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "GPG",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "key_id": {
                              "description": "The key's ID.",
                              "example": "59E79B6904616529",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Import GnuPG key",
        "tags": [
          "GPG",
          "Signing and Encryption (GnuPG Keys)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  import_key \\\n  key_data='%0A-----BEGIN%20PGP%20PUBLIC%20KEY%20BLOCK-----%0AVersion%3A%20GnuPG%20v2.0.14%20(GNU%2FLinux)%0A%0AmQENBFN0%2BOsBCADoFvyf8gHIKZ%2F%2B5KwbWb3Ht%2Fz1ukyQqFNGpBVIqHossmjmyF9e%0APn6iiZ0fHnt7r6XGGXaP%2BKKjIxAcqOTiFiP%2BHIx6GQubzVih6Ol0YNjzmK%2Ft4f%2B4%0AfSElEVnyzeyJa4LmC%2Fui%2FvvtptJ8JX6su7f11BwUTSyuqnk204AfN5uVpAcZNPT0%0A0qNNky1bxYvPUxU6Imvi1q3NtpFzqsQ4u%2FyZuLpUe7uwmgMPeO0lAms1kCa3Guot%0A3mfSt0vrUAMdcV4drY1FGtYZdYSa4rSTzpFuB7o9Ze%2BE3fUbCWs1%2B0FiN3JQNGO1%0AS2lnqjEqbpz2nHtA50elJRGqxZLEi8zkFqlTABEBAAG0Z2NQYW5lbCBTZWN1cml0%0AeSBUZWFtIC0gVEVTVCAoVEhJUyBJUyBBIFRFU1QgS0VZOyBETyBOT1QgVVNFIEZP%0AUiBBTllUSElORyBSRUFMISkgPHNlY3RlYW1zaXhAY3BhbmVsLm5ldD6JAT4EEwEC%0AACgFAlN0%2BOsCGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOhU%0A60c9RtoRkhMIAIe2yDKj55mGD3zbuGqxx6NNNIyiuEujw31N8yOS9BKTqGtIiK9i%0AGu4lzrzmHISKi0rjKmJdbckap7OouUoo9WR3ewjN6S5EHyjKfrrMwMzTWMPZOkTj%0A7A698X0vGc9yZ6KyBj8mM8J9duvNtRS285hfXfQxYO%2FuiyrJGBedI%2FWVZ3a7mcfq%0A7FhC8t6jU6sz9uIvYHAzywcVdmhEK5rS%2FuE%2F9e37h46jn2%2BkzlIWEe%2FYgpa%2BuWdT%0AO%2BOyqteW51LEjXLWMyP8AJEq8EoqbqKnm4Q1g0etOQ9trrkLUnPxaSwD5R6i4KLH%0AMR%2Fh7m%2FOoz8yOhUlrCGJwX7v9qDEdaYYFLQ%3D%0A%3DMEFZ%0A-----END%20PGP%20PUBLIC%20KEY%20BLOCK-----%0A'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/GPG/import_key?key_data=%250A-----BEGIN%2520PGP%2520PUBLIC%2520KEY%2520BLOCK-----%250AVersion%253A%2520GnuPG%2520v2.0.14%2520%28GNU%252FLinux%29%250A%250AmQENBFN0%252BOsBCADoFvyf8gHIKZ%252F%252B5KwbWb3Ht%252Fz1ukyQqFNGpBVIqHossmjmyF9e%250APn6iiZ0fHnt7r6XGGXaP%252BKKjIxAcqOTiFiP%252BHIx6GQubzVih6Ol0YNjzmK%252Ft4f%252B4%250AfSElEVnyzeyJa4LmC%252Fui%252FvvtptJ8JX6su7f11BwUTSyuqnk204AfN5uVpAcZNPT0%250A0qNNky1bxYvPUxU6Imvi1q3NtpFzqsQ4u%252FyZuLpUe7uwmgMPeO0lAms1kCa3Guot%250A3mfSt0vrUAMdcV4drY1FGtYZdYSa4rSTzpFuB7o9Ze%252BE3fUbCWs1%252B0FiN3JQNGO1%250AS2lnqjEqbpz2nHtA50elJRGqxZLEi8zkFqlTABEBAAG0Z2NQYW5lbCBTZWN1cml0%250AeSBUZWFtIC0gVEVTVCAoVEhJUyBJUyBBIFRFU1QgS0VZOyBETyBOT1QgVVNFIEZP%250AUiBBTllUSElORyBSRUFMISkgPHNlY3RlYW1zaXhAY3BhbmVsLm5ldD6JAT4EEwEC%250AACgFAlN0%252BOsCGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOhU%250A60c9RtoRkhMIAIe2yDKj55mGD3zbuGqxx6NNNIyiuEujw31N8yOS9BKTqGtIiK9i%250AGu4lzrzmHISKi0rjKmJdbckap7OouUoo9WR3ewjN6S5EHyjKfrrMwMzTWMPZOkTj%250A7A698X0vGc9yZ6KyBj8mM8J9duvNtRS285hfXfQxYO%252FuiyrJGBedI%252FWVZ3a7mcfq%250A7FhC8t6jU6sz9uIvYHAzywcVdmhEK5rS%252FuE%252F9e37h46jn2%252BkzlIWEe%252FYgpa%252BuWdT%250AO%252BOyqteW51LEjXLWMyP8AJEq8EoqbqKnm4Q1g0etOQ9trrkLUnPxaSwD5R6i4KLH%250AMR%252Fh7m%252FOoz8yOhUlrCGJwX7v9qDEdaYYFLQ%253D%250A%253DMEFZ%250A-----END%2520PGP%2520PUBLIC%2520KEY%2520BLOCK-----%250A"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_import_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_import_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/import_key/,\n    {\n        'key_data' => '%0A-----BEGIN%20PGP%20PUBLIC%20KEY%20BLOCK-----%0AVersion%3A%20GnuPG%20v2.0.14%20(GNU%2FLinux)%0A%0AmQENBFN0%2BOsBCADoFvyf8gHIKZ%2F%2B5KwbWb3Ht%2Fz1ukyQqFNGpBVIqHossmjmyF9e%0APn6iiZ0fHnt7r6XGGXaP%2BKKjIxAcqOTiFiP%2BHIx6GQubzVih6Ol0YNjzmK%2Ft4f%2B4%0AfSElEVnyzeyJa4LmC%2Fui%2FvvtptJ8JX6su7f11BwUTSyuqnk204AfN5uVpAcZNPT0%0A0qNNky1bxYvPUxU6Imvi1q3NtpFzqsQ4u%2FyZuLpUe7uwmgMPeO0lAms1kCa3Guot%0A3mfSt0vrUAMdcV4drY1FGtYZdYSa4rSTzpFuB7o9Ze%2BE3fUbCWs1%2B0FiN3JQNGO1%0AS2lnqjEqbpz2nHtA50elJRGqxZLEi8zkFqlTABEBAAG0Z2NQYW5lbCBTZWN1cml0%0AeSBUZWFtIC0gVEVTVCAoVEhJUyBJUyBBIFRFU1QgS0VZOyBETyBOT1QgVVNFIEZP%0AUiBBTllUSElORyBSRUFMISkgPHNlY3RlYW1zaXhAY3BhbmVsLm5ldD6JAT4EEwEC%0AACgFAlN0%2BOsCGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOhU%0A60c9RtoRkhMIAIe2yDKj55mGD3zbuGqxx6NNNIyiuEujw31N8yOS9BKTqGtIiK9i%0AGu4lzrzmHISKi0rjKmJdbckap7OouUoo9WR3ewjN6S5EHyjKfrrMwMzTWMPZOkTj%0A7A698X0vGc9yZ6KyBj8mM8J9duvNtRS285hfXfQxYO%2FuiyrJGBedI%2FWVZ3a7mcfq%0A7FhC8t6jU6sz9uIvYHAzywcVdmhEK5rS%2FuE%2F9e37h46jn2%2BkzlIWEe%2FYgpa%2BuWdT%0AO%2BOyqteW51LEjXLWMyP8AJEq8EoqbqKnm4Q1g0etOQ9trrkLUnPxaSwD5R6i4KLH%0AMR%2Fh7m%2FOoz8yOhUlrCGJwX7v9qDEdaYYFLQ%3D%0A%3DMEFZ%0A-----END%20PGP%20PUBLIC%20KEY%20BLOCK-----%0A',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_import_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_import_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'import_key',\n    array (\n        'key_data' => '%0A-----BEGIN%20PGP%20PUBLIC%20KEY%20BLOCK-----%0AVersion%3A%20GnuPG%20v2.0.14%20(GNU%2FLinux)%0A%0AmQENBFN0%2BOsBCADoFvyf8gHIKZ%2F%2B5KwbWb3Ht%2Fz1ukyQqFNGpBVIqHossmjmyF9e%0APn6iiZ0fHnt7r6XGGXaP%2BKKjIxAcqOTiFiP%2BHIx6GQubzVih6Ol0YNjzmK%2Ft4f%2B4%0AfSElEVnyzeyJa4LmC%2Fui%2FvvtptJ8JX6su7f11BwUTSyuqnk204AfN5uVpAcZNPT0%0A0qNNky1bxYvPUxU6Imvi1q3NtpFzqsQ4u%2FyZuLpUe7uwmgMPeO0lAms1kCa3Guot%0A3mfSt0vrUAMdcV4drY1FGtYZdYSa4rSTzpFuB7o9Ze%2BE3fUbCWs1%2B0FiN3JQNGO1%0AS2lnqjEqbpz2nHtA50elJRGqxZLEi8zkFqlTABEBAAG0Z2NQYW5lbCBTZWN1cml0%0AeSBUZWFtIC0gVEVTVCAoVEhJUyBJUyBBIFRFU1QgS0VZOyBETyBOT1QgVVNFIEZP%0AUiBBTllUSElORyBSRUFMISkgPHNlY3RlYW1zaXhAY3BhbmVsLm5ldD6JAT4EEwEC%0AACgFAlN0%2BOsCGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOhU%0A60c9RtoRkhMIAIe2yDKj55mGD3zbuGqxx6NNNIyiuEujw31N8yOS9BKTqGtIiK9i%0AGu4lzrzmHISKi0rjKmJdbckap7OouUoo9WR3ewjN6S5EHyjKfrrMwMzTWMPZOkTj%0A7A698X0vGc9yZ6KyBj8mM8J9duvNtRS285hfXfQxYO%2FuiyrJGBedI%2FWVZ3a7mcfq%0A7FhC8t6jU6sz9uIvYHAzywcVdmhEK5rS%2FuE%2F9e37h46jn2%2BkzlIWEe%2FYgpa%2BuWdT%0AO%2BOyqteW51LEjXLWMyP8AJEq8EoqbqKnm4Q1g0etOQ9trrkLUnPxaSwD5R6i4KLH%0AMR%2Fh7m%2FOoz8yOhUlrCGJwX7v9qDEdaYYFLQ%3D%0A%3DMEFZ%0A-----END%20PGP%20PUBLIC%20KEY%20BLOCK-----%0A',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/GPG/list_public_keys": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the GnuPG (GPG) public keys for the\ncurrently-authenticated account.",
        "operationId": "GPG-list_public_keys",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_public_keys",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "GPG",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "algorithm": {
                                "description": "The key's algorithm.\n* RSA\n* DSA",
                                "enum": [
                                  "RSA",
                                  "DSA"
                                ],
                                "example": "DSA",
                                "type": "string"
                              },
                              "bits": {
                                "description": "The length of the key, in bits.",
                                "enum": [
                                  1024,
                                  2048,
                                  3072,
                                  4096
                                ],
                                "example": 2048,
                                "maximum": 4096,
                                "minimum": 1024,
                                "type": "integer"
                              },
                              "created": {
                                "description": "The creation time for the key,\nin [Unix time format](http://en.wikipedia.org/wiki/Unix_time).",
                                "example": "1559238435",
                                "type": "string"
                              },
                              "expires": {
                                "description": "When the key will expire,\nin [Unix time format](http://en.wikipedia.org/wiki/Unix_time).\n\n**Note:**\n\nIf the key does not expire,\nthis will be an empty string.",
                                "example": "1590774435",
                                "type": "string"
                              },
                              "id": {
                                "description": "The key's ID.",
                                "example": "C801294347601B8F",
                                "type": "string"
                              },
                              "type": {
                                "description": "The type of key.\n\n**Note:**\n\nThis will always be \"pub\" because we are listing public keys.",
                                "enum": [
                                  "pub"
                                ],
                                "example": "pub",
                                "type": "string"
                              },
                              "user_id": {
                                "description": "The user ID of the key which consists of the following space-separated values:\n* The username.\n* The key's comment in parentheses.\n* The key's email address in angle brackets (<>).",
                                "example": "bender (is great) <bender@example.com>",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return current user's GnuPG public keys",
        "tags": [
          "GPG",
          "Signing and Encryption (GnuPG Keys)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  list_public_keys\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/GPG/list_public_keys"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_list_public_keys.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_list_public_keys.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/list_public_keys/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_list_public_keys.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_list_public_keys.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'list_public_keys'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/GPG/list_secret_keys": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the GnuPG (GPG) secret keys for the currently-authenticated account.",
        "operationId": "GPG-list_secret_keys",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_secret_keys",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "GPG",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "algorithm": {
                                "description": "The key's algorithm.\n* `RSA`\n* `DSA`",
                                "enum": [
                                  "RSA",
                                  "DSA"
                                ],
                                "example": "DSA",
                                "type": "string"
                              },
                              "bits": {
                                "description": "The key's length.",
                                "example": 2048,
                                "maximum": 4096,
                                "minimum": 1024,
                                "multipleOf": 1024,
                                "type": "integer"
                              },
                              "created": {
                                "description": "When the function created the key.",
                                "example": 1559238435,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "expires": {
                                "description": "When the key will expire.",
                                "example": 1590774435,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "id": {
                                "description": "The key's ID.",
                                "example": "738538C1",
                                "type": "string"
                              },
                              "type": {
                                "description": "The type of key.\n\n* `sec` is the only possible value.",
                                "enum": [
                                  "sec"
                                ],
                                "example": "sec",
                                "type": "string"
                              },
                              "user_id": {
                                "description": "The user ID of the key. The system returns this value as a space-separated string with the following values:\n\n* The username.\n* A comment in parentheses.\n* The key's email address in angle brackets (`<>`).",
                                "example": "username (John Doe) <username@example.com>",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — `Success`.\n* `0` — `Failed`. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return current user's GnuPG secret keys",
        "tags": [
          "GPG",
          "Signing and Encryption (GnuPG Keys)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  GPG \\\n  list_secret_keys\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/GPG/list_secret_keys"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file GPG_list_secret_keys.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/GPG_list_secret_keys.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/GPG/,\n    q/list_secret_keys/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file GPG_list_secret_keys.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/GPG_list_secret_keys.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'GPG',\n    'list_secret_keys'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/ImageManager/convert_file": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function converts an image to a new file format.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles), the system **disables** this function.",
        "operationId": "ImageManager-convert_file",
        "parameters": [
          {
            "description": "The image file to convert, relative to the cPanel account's `/home` directory.",
            "in": "query",
            "name": "image_file",
            "required": true,
            "schema": {
              "example": "images/myimage.jpg",
              "type": "string"
            }
          },
          {
            "description": "The format to which to convert the images.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "example": "png",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "convert_file",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ImageManager",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "converted_file": {
                              "description": "The new absolute filepath to the image.",
                              "example": "/home/cptest1/images/myimage.png",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* 1 — Success.\n* 0 — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create image with new format",
        "tags": [
          "ImageManager",
          "Image Tools"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ImageManager \\\n  convert_file \\\n  image_file='images/myimage.jpg' \\\n  type='png'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ImageManager/convert_file?image_file=images%2fmyimage.jpg&type=png"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ImageManager_convert_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ImageManager_convert_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ImageManager/,\n    q/convert_file/,\n    {\n        'image_file' => 'images/myimage.jpg',\n        'type' => 'png',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ImageManager_convert_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ImageManager_convert_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ImageManager',\n    'convert_file',\n    array (\n        'image_file' => 'images/myimage.jpg',\n        'type' => 'png',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/ImageManager/create_thumbnails": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates thumbnails from images. The function saves the new thumbnail images in a thumbnails subdirectory inside the original directory. The system prepends thumbnail filenames with ``tn_`` (for example, ``tn_picture.jpg``).\n\n**Important:**\n\nWhen you disable the [WebServer role](https://go.cpanel.net/serverroles), the system disables this function.",
        "operationId": "ImageManager-create_thumbnails",
        "parameters": [
          {
            "description": "The path to the directory where the image resides. When you pass this parameter, the function creates a thumbnail directory directly below the image directory.\n\n**NOTE:**\n\nThis parameter can use an absolute directory path or a path relative to the user's home directory.",
            "in": "query",
            "name": "dir",
            "required": true,
            "schema": {
              "example": "images",
              "type": "string"
            }
          },
          {
            "description": "The percentage by which to reduce the thumbnails' height.",
            "in": "query",
            "name": "height_percentage",
            "required": true,
            "schema": {
              "example": 25,
              "maximum": 99,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "The percentage by which to reduce the thumbnails' width.",
            "in": "query",
            "name": "width_percentage",
            "required": true,
            "schema": {
              "example": 25,
              "maximum": 99,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "create_thumbnails",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ImageManager",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing thumbnail file information.",
                          "items": {
                            "properties": {
                              "failed": {
                                "description": "Whether the function failed to create the thumbnail file.\n\n**Note:**\n\n * The function **only** returns this value if it doesn't create the thumbnail.\n * `1` is the **only** possible value.",
                                "enum": [
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "file": {
                                "description": "The file from which the function generated the thumbnail file. An absolute filepath.",
                                "example": "/home/cptest1/public_html/images/610_290.jpg",
                                "type": "string"
                              },
                              "reason": {
                                "description": "The reason that the function didn't create the thumbnail file.\n\n**Note:**\n\n The function only returns this value if it doesn't create the thumbnail.",
                                "example": "too many pixels",
                                "type": "string"
                              },
                              "thumbnail_file": {
                                "description": "The thumbnail file that the function generated. An absolute filepath.",
                                "example": "/home/cptest1/public_html/images/thumbnails/tn_610_290.jpg",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success.\n- 0 - Failed. Check the ``errors`` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create image thumbnails",
        "tags": [
          "ImageManager",
          "Image Tools"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ImageManager \\\n  create_thumbnails \\\n  dir='images' \\\n  width_percentage='25' \\\n  height_percentage='25'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ImageManager/create_thumbnails?dir=images&width_percentage=25&height_percentage=25"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ImageManager_create_thumbnails.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ImageManager_create_thumbnails.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ImageManager/,\n    q/create_thumbnails/,\n    {\n        'dir' => 'images',\n        'width_percentage' => '25',\n        'height_percentage' => '25',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ImageManager_create_thumbnails.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ImageManager_create_thumbnails.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ImageManager',\n    'create_thumbnails',\n    array (\n        'dir' => 'images',\n        'width_percentage' => '25',\n        'height_percentage' => '25',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/ImageManager/get_dimensions": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the dimensions of the image file that you specify.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles), the system **disables** this function.",
        "operationId": "ImageManager-get_dimensions",
        "parameters": [
          {
            "description": "The path to the file to measure.\n\n**Note:**\n\nUse the absolute filepath or a path relative to the user's home directory.",
            "in": "query",
            "name": "image_file",
            "required": true,
            "schema": {
              "example": "image/myimage.jpg",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_dimensions",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ImageManager",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "height": {
                              "description": "The image's height, in pixels.",
                              "example": 300,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "width": {
                              "description": "The image's width, in pixels.",
                              "example": 261,
                              "minimum": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return image dimensions",
        "tags": [
          "ImageManager",
          "Image Tools"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ImageManager \\\n  get_dimensions \\\n  image_file='image/myimage.jpg'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ImageManager/get_dimensions?image_file=image%2fmyimage.jpg"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ImageManager_get_dimensions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ImageManager_get_dimensions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ImageManager/,\n    q/get_dimensions/,\n    {\n        'image_file' => 'image/myimage.jpg',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ImageManager_get_dimensions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ImageManager_get_dimensions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ImageManager',\n    'get_dimensions',\n    array (\n        'image_file' => 'image/myimage.jpg',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/ImageManager/resize_image": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function resizes a specified image.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles), the system **disables** this function.",
        "operationId": "ImageManager-resize_image",
        "parameters": [
          {
            "description": "The height to which to set the image size.",
            "in": "query",
            "name": "height",
            "required": true,
            "schema": {
              "example": 300,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "The name of the file to scale.\n\n**Note:**\n\nUse the absolute filepath or a filepath relative to the user's home directory.",
            "in": "query",
            "name": "image_file",
            "required": true,
            "schema": {
              "example": "/images/image.jpg",
              "type": "string"
            }
          },
          {
            "description": "The width to which to set the image size.",
            "in": "query",
            "name": "width",
            "required": true,
            "schema": {
              "example": 200,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "The path to the directory in which to save a copy the original\nimage file.\n\n**Note:**\n\n* If you don't pass this parameter, the function doesn't save\na copy of the original image.\n* Use the absolute filepath or a filepath relative to the user's home directory.",
            "in": "query",
            "name": "save_original_as",
            "required": false,
            "schema": {
              "example": "images/original.jpg",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "resize_image",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ImageManager",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The absolute filepath to the resized image.",
                          "example": "/home/cptest1/images/myimage.jpg",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Save resized image",
        "tags": [
          "ImageManager",
          "Image Tools"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ImageManager \\\n  resize_image \\\n  image_file='images/image.jpg' \\\n  width='200' \\\n  height='300'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ImageManager/resize_image?image_file=%2fimages%2fimage.jpg&width=200&height=300"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ImageManager_resize_image.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ImageManager_resize_image.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ImageManager/,\n    q/resize_image/,\n    {\n        'image_file' => '/images/image.jpg',\n        'width' => '200',\n        'height' => '300',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ImageManager_resize_image.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ImageManager_resize_image.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ImageManager',\n    'resize_image',\n    array (\n        'image_file' => '/images/image.jpg',\n        'width' => '200',\n        'height' => '300',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/InProductSurvey/get_in_product_survey_url": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "\nThis function returns whether the in-product survey banner should display for the current user and the survey link.\n\n**Notes:**\n\n* The function selects a link template based on whether the authenticated user is a webmail user or a cPanel/Team user.\n* A `display` value of `0` means you should not render the banner UI.",
        "operationId": "InProductSurvey-get_in_product_survey_url",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_in_product_survey_url",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "InProductSurvey",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The in-product survey banner data.",
                          "example": {
                            "display": "1",
                            "link": "https://survey.example.tld/some/generated/link",
                            "max_dismiss": "3",
                            "new_user": "0",
                            "submit_event": "survey_submitted",
                            "server_type": "cpanel",
                            "user_type": "cpanel"
                          },
                          "properties": {
                            "display": {
                              "description": "Whether to display the in-product survey banner.\n* `1` — Display the banner.\n* `0` — Do not display the banner.",
                              "enum": [
                                "1",
                                "0"
                              ],
                              "example": "1",
                              "type": "string"
                            },
                            "link": {
                              "description": "The fully resolved survey URL.",
                              "example": "https://survey.example.tld/some/generated/link",
                              "type": "string"
                            },
                            "max_dismiss": {
                              "description": "Maximum number of dismissals allowed before the banner is suppressed.",
                              "example": "3",
                              "type": "string"
                            },
                            "new_user": {
                              "description": "Whether the authenticated user is considered new.\n* `1` — New user experience.\n* `0` — Established user.",
                              "enum": [
                                "1",
                                "0"
                              ],
                              "example": "0",
                              "type": "string"
                            },
                            "submit_event": {
                              "description": "Client-side analytics or event identifier emitted on successful survey submission.",
                              "example": "survey_submitted",
                              "type": "string"
                            },
                            "server_type": {
                              "description": "Product/server type identifier (e.g., cpanel, whm).",
                              "example": "cpanel",
                              "type": "string"
                            },
                            "user_type": {
                              "description": "Type of authenticated user context.",
                              "enum": [
                                "cpanel",
                                "webmail"
                              ],
                              "example": "cpanel",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return in-product survey banner data",
        "tags": [
          "InProductSurvey"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n--user=username \\\nInProductSurvey \\\nget_in_product_survey_url\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/InProductSurvey/get_in_product_survey_url\n"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "use strict;\nuse Cpanel::LiveAPI ();\nmy $cpanel = Cpanel::LiveAPI->new();\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\nmy $response = $cpanel->uapi(\n    q/InProductSurvey/,\n    q/get_in_product_survey_url/,\n);\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print to_json($data);\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n$cpanel->end();\nsub to_json { require JSON; JSON->new->pretty->encode($_[0]) }\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\nheader('Content-Type: text/plain');\n$cpanel = new CPANEL();\n$response = $cpanel->uapi('InProductSurvey', 'get_in_product_survey_url');\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    print json_encode($data, JSON_PRETTY_PRINT);\n} else {\n    print json_encode($response['cpanelresult']['result']['errors'], JSON_PRETTY_PRINT);\n}\n$cpanel->end();"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "11.32"
      }
    },
    "/Integration/fetch_url": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function returns the URL for an integrated application.",
        "operationId": "Integration-fetch_url",
        "parameters": [
          {
            "description": "The application's name.",
            "in": "query",
            "name": "app",
            "required": true,
            "schema": {
              "example": "applicationname",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fetch_url",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Integration",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "redirect_url": {
                              "description": "The publicly-available URL to which the application will redirect visitors.",
                              "example": "http://application.example.com/application",
                              "format": "url",
                              "type": "string"
                            },
                            "url": {
                              "description": "The publicly-available URL to which the application redirects visitors if the `redirect_url` location is unavailable.",
                              "example": "http://application.example.com/",
                              "format": "url",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return integrated application URL",
        "tags": [
          "Integration",
          "URL Parsing"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Integration \\\n  fetch_url \\\n  app='applicationname'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Integration/fetch_url?app=applicationname"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Integration_fetch_url.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Integration_fetch_url.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Integration/,\n    q/fetch_url/,\n    {\n        'app' => 'applicationname',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Integration_fetch_url.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Integration_fetch_url.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Integration',\n    'fetch_url',\n    array (\n        'app' => 'applicationname',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/KnownHosts/create": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function registers a host in the cPanel account's `/home/user/.ssh/known_hosts` file.",
        "operationId": "KnownHosts-create",
        "parameters": [
          {
            "description": "The hostname or IP address to add.",
            "example": "hostname.example.com",
            "in": "query",
            "name": "host_name",
            "required": true,
            "schema": {
              "oneOf": [
                {
                  "description": "A valid hostname.",
                  "example": "hostname.example.com",
                  "format": "hostname",
                  "type": "string"
                },
                {
                  "description": "A valid IP address.",
                  "example": "192.0.2.102",
                  "format": "ipv4",
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The SSH port to use, if the system uses a non-standard SSH port.",
            "in": "query",
            "name": "port",
            "required": false,
            "schema": {
              "default": 22,
              "example": 1234,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "create",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "KnownHosts",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "host": {
                              "description": "An array of objects containing information for the host.",
                              "items": {
                                "properties": {
                                  "host": {
                                    "description": "The hostname or IP address.",
                                    "example": "hostname.example.com",
                                    "oneOf": [
                                      {
                                        "description": "A valid hostname.",
                                        "example": "hostname.example.com",
                                        "format": "hostname",
                                        "type": "string"
                                      },
                                      {
                                        "description": "A valid IP address.",
                                        "example": "192.0.2.102",
                                        "format": "ipv4",
                                        "type": "string"
                                      }
                                    ]
                                  },
                                  "key": {
                                    "description": "The host's key.",
                                    "example": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==",
                                    "type": "string"
                                  },
                                  "line": {
                                    "description": "The host's entry in the `/home/user/.ssh/known_hosts` file, where `user` is the cPanel account username.",
                                    "example": "host.example.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==",
                                    "type": "string"
                                  },
                                  "meta": {
                                    "description": "An object containing metadata about the host's public key.",
                                    "properties": {
                                      "algorithm": {
                                        "description": "The key's algorithm.",
                                        "example": "ssh-rsa",
                                        "type": "string"
                                      },
                                      "body": {
                                        "description": "The host's public key.",
                                        "example": "AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==",
                                        "type": "string"
                                      },
                                      "md5": {
                                        "description": "The key's [MD5](https://en.wikipedia.org/wiki/MD5) fingerprint.",
                                        "example": "b6030e39979ed0e724cea3773e014209",
                                        "type": "string"
                                      },
                                      "md5-printable": {
                                        "description": "A human-readable version of the key's MD5 fingerprint.",
                                        "example": "MD5:b6:03:0e:39:97:9e:d0:e7:24:ce:a3:77:3e:01:42:09",
                                        "type": "string"
                                      },
                                      "sha256": {
                                        "description": "The key's [SHA-256](https://en.wikipedia.org/wiki/SHA-2)\nfingerprint.",
                                        "example": "44e405bcf4e11ab5b846e58ba0bf6dabd23dcc9e367cae17cb0c91b5b 3b3fc44",
                                        "type": "string"
                                      },
                                      "sha256-printable": {
                                        "description": "A human-readable version of the key's SHA-256 fingerprint.",
                                        "example": "SHA256:ROQFvPThGrW4RuWLoL9tq9I9zJ42fK4XywyRtbOz/EQ",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create host",
        "tags": [
          "KnownHosts",
          "Known SSH Hosts Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  KnownHosts \\\n  create \\\n  host_name='hostname.example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/KnownHosts/create?host_name=hostname.example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file KnownHosts_create.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/KnownHosts_create.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/KnownHosts/,\n    q/create/,\n    {\n        'host_name' => 'hostname.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file KnownHosts_create.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/KnownHosts_create.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'KnownHosts',\n    'create',\n    array (\n        'host_name' => 'hostname.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 74"
      }
    },
    "/KnownHosts/delete": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function removes a host from the cPanel account's `/home/user/.ssh/known_hosts` file.",
        "operationId": "KnownHosts-delete",
        "parameters": [
          {
            "description": "The hostname or IP address of the host to delete.",
            "in": "query",
            "name": "host_name",
            "required": true,
            "schema": {
              "example": "host.example.com",
              "oneOf": [
                {
                  "format": "hostname",
                  "type": "string"
                },
                {
                  "format": "ipv4",
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The SSH port to use.",
            "in": "query",
            "name": "port",
            "required": false,
            "schema": {
              "default": 22,
              "example": 1234,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "KnownHosts",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete host",
        "tags": [
          "KnownHosts",
          "Known SSH Hosts Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  KnownHosts \\\n  delete \\\n  host_name='host.example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/KnownHosts/delete?host_name=host.example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file KnownHosts_delete.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/KnownHosts_delete.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/KnownHosts/,\n    q/delete/,\n    {\n        'host_name' => 'host.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file KnownHosts_delete.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/KnownHosts_delete.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'KnownHosts',\n    'delete',\n    array (\n        'host_name' => 'host.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 74"
      }
    },
    "/KnownHosts/update": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function updates a host's entry in the cPanel account's /home/user/.ssh/known_hosts file.",
        "operationId": "KnownHosts-update",
        "parameters": [
          {
            "description": "The host to update.",
            "in": "query",
            "name": "host_name",
            "required": true,
            "schema": {
              "example": "host.example.com",
              "oneOf": [
                {
                  "format": "hostname",
                  "type": "string"
                },
                {
                  "format": "ipv4",
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The SSH port to use.",
            "in": "query",
            "name": "port",
            "required": false,
            "schema": {
              "default": 22,
              "example": 1234,
              "maximum": 65535,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "update",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "KnownHosts",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "host": {
                              "description": "An array of objects containing the host's information.",
                              "items": {
                                "properties": {
                                  "host": {
                                    "description": "The updated host and its associated key value.",
                                    "example": "host.example.com",
                                    "oneOf": [
                                      {
                                        "format": "hostname",
                                        "type": "string"
                                      },
                                      {
                                        "format": "ipv4",
                                        "type": "string"
                                      }
                                    ]
                                  },
                                  "key": {
                                    "description": "The host's key.",
                                    "example": "ssh-rsa AAAAB3NzaC1yc2AEEEEDAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9",
                                    "type": "string"
                                  },
                                  "line": {
                                    "description": "The host's entry in the `/home/user/.ssh/known_hosts` file, where user is the cPanel account username. A valid entry that includes the hostname or IP address, the key's algorithm, and the public key.",
                                    "example": "host.example.com ssh-rsa AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
                                    "type": "string"
                                  },
                                  "meta": {
                                    "description": "An object containing metadata about the host's public key.",
                                    "properties": {
                                      "algorithm": {
                                        "description": "The key's algorithm.",
                                        "example": "ssh-rsa",
                                        "type": "string"
                                      },
                                      "body": {
                                        "description": "The host's public key.",
                                        "example": "EEEEB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9\\bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9",
                                        "type": "string"
                                      },
                                      "md5": {
                                        "description": "The key's MD5 fingerprint.",
                                        "example": "b6030e39868ed0e724cea3773e014219",
                                        "type": "string"
                                      },
                                      "md5-printable": {
                                        "description": "A human-readable version of the key's MD5 fingerprint.",
                                        "example": "MD5:b6:03:0e:39:97:2e:d0:e7:24:ab:c3:77:3d:01:42:09",
                                        "type": "string"
                                      },
                                      "sha256": {
                                        "description": "The key's SHA-256 fingerprint.",
                                        "example": "55a405bcf4e11ab5b846e58ba0bf6dabd23dcc9e367cae17cb0c91b5b3b3fc55",
                                        "type": "string"
                                      },
                                      "sha256-printable": {
                                        "description": "human-readable version of the key's SHA-256 fingerprint.",
                                        "example": "SHA256:RPLFvPThGrW4RuWLoL9tq9I9zJ42fK3XywyRtbOz/EQ",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` Success.\n* `0` Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update host in the known_hosts file",
        "tags": [
          "KnownHosts",
          "Known SSH Hosts Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  KnownHosts \\\n  update \\\n  host_name='host.example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/KnownHosts/update?host_name=host.example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file KnownHosts_update.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/KnownHosts_update.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/KnownHosts/,\n    q/update/,\n    {\n        'host_name' => 'host.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file KnownHosts_update.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/KnownHosts_update.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'KnownHosts',\n    'update',\n    array (\n        'host_name' => 'host.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 74"
      }
    },
    "/KnownHosts/verify": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether a host's public key exists in the cPanel account's `/home/user/.ssh/known_hosts` file.",
        "operationId": "KnownHosts-verify",
        "parameters": [
          {
            "description": "The host to query.",
            "in": "query",
            "name": "host_name",
            "required": true,
            "schema": {
              "example": "host.example.com",
              "oneOf": [
                {
                  "format": "ipv4",
                  "type": "string"
                },
                {
                  "format": "domain",
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The SSH port to use.",
            "in": "query",
            "name": "port",
            "required": false,
            "schema": {
              "default": 22,
              "example": 1234,
              "maximum": 65535,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "verify",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "KnownHosts",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "errors": {
                              "description": "An array of errors that the system generated.",
                              "items": {
                                "example": "The example.com host does not exist in the known_hosts file.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "failure_type": {
                              "description": "The reason why the system will register the hostname.\n* `new` — The host does **not** already exist.\n* `changed` — The host's information has changed.",
                              "enum": [
                                "new",
                                "changed"
                              ],
                              "example": "new",
                              "type": "string"
                            },
                            "host": {
                              "description": "An array of objects that contain information about the host.",
                              "items": {
                                "properties": {
                                  "host": {
                                    "description": "The hostname or IP address.",
                                    "example": "host.example.com",
                                    "oneOf": [
                                      {
                                        "format": "ipv4",
                                        "type": "string"
                                      },
                                      {
                                        "format": "domain",
                                        "type": "string"
                                      }
                                    ]
                                  },
                                  "key": {
                                    "description": "The host's key.",
                                    "example": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==",
                                    "type": "string"
                                  },
                                  "line": {
                                    "description": "The host's entry in the `/home/user/.ssh/known_hosts` file, where `user` is the cPanel account username.",
                                    "example": "host.example.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==",
                                    "type": "string"
                                  },
                                  "meta": {
                                    "description": "An object that contains information about the host's public key.",
                                    "properties": {
                                      "algorithm": {
                                        "description": "The key's algorithm.",
                                        "example": "ssh-rsa",
                                        "type": "string"
                                      },
                                      "body": {
                                        "description": "The host's public key. public key.",
                                        "example": "AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==",
                                        "type": "string"
                                      },
                                      "md5": {
                                        "description": "The key's [MD5](https://en.wikipedia.org/wiki/MD5) fingerprint.",
                                        "example": "b6030e39979ed0e724cea3773e014209",
                                        "type": "string"
                                      },
                                      "md5-printable": {
                                        "description": "A human-readable version of the key's MD5 fingerprint.",
                                        "example": "MD5:b6:03:0e:39:97:9e:d0:e7:24:ce:a3:77:3e:01:42:09",
                                        "type": "string"
                                      },
                                      "sha256": {
                                        "description": "The key's [SHA-256](https://en.wikipedia.org/wiki/SHA-2) fingerprint.",
                                        "example": "44e405bcf4e11ab5b846e58ba0bf6dabd23dcc9e367cae17cb0c91b5b3b3fc44",
                                        "type": "string"
                                      },
                                      "sha256-printable": {
                                        "description": "A human-readable version of the key's SHA-256 fingerprint.",
                                        "example": "SHA256:ROQFvPThGrW4RuWLoL9tq9I9zJ42fK4XywyRtbOz/EQ",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "status": {
                              "description": "Whether the host already exists in the `/home/user/.ssh/known_hosts` file, where `user` is the cPanel account username.\n* `1` — Exists.\n* `0` — The host does **not** already exist, or the system must re-register the hostname.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 0,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Validate host",
        "tags": [
          "KnownHosts",
          "Known SSH Hosts Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  KnownHosts \\\n  verify \\\n  host_name='host.example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/KnownHosts/verify?host_name=host.example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file KnownHosts_verify.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/KnownHosts_verify.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/KnownHosts/,\n    q/verify/,\n    {\n        'host_name' => 'host.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file KnownHosts_verify.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/KnownHosts_verify.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'KnownHosts',\n    'verify',\n    array (\n        'host_name' => 'host.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 74"
      }
    },
    "/LangPHP/php_get_domain_handler": {
      "get": {
        "x-readonly": true,
        "description": "This function returns a PHP version's assigned PHP handler.\n\n**Note:**\n\n  This document **only** applies to systems that run EasyApache 4.\n\n**Important:**\n\n  When you disable the [WebServer role](https://go.cpanel.net/howtouseserverprofiles#roles), the system disables this function. For more information, read our How to Use Server Profiles documentation.",
        "operationId": "LangPHP-php_get_domain_handler",
        "parameters": [
          {
            "description": "The type of `php.ini` file.\n\n* `home`\n* `vhost`\n\n**Important:**\n\n * If you set this parameter to `vhost`, you **must** also include the vhost parameter.\n * If you set this parameter to `home`, the system returns the system default PHP handler.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "enum": [
                "home",
                "vhost"
              ],
              "example": "vhost",
              "type": "string"
            }
          },
          {
            "description": "The name of a virtual host.\n\n**Important:**\n\n If the `type` value is `vhost`, you **must** use this parameter.",
            "in": "query",
            "name": "vhost",
            "required": false,
            "schema": {
              "example": "clearly.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "php_get_domain_handler",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LangPHP",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "php_handler": {
                              "description": "The virtual host's PHP handler.",
                              "example": "cgi",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return PHP version's handler",
        "tags": [
          "LangPHP",
          "PHP Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_get_domain_handler \\\n  type='vhost'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_get_domain_handler?type=vhost"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_get_domain_handler.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_domain_handler.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_get_domain_handler/,\n    {\n        'type' => 'vhost',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_get_domain_handler.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_domain_handler.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_get_domain_handler',\n    array (\n        'type' => 'vhost',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 68"
      }
    },
    "/LangPHP/php_get_impacted_domains": {
      "get": {
        "x-readonly": true,
        "description": "This function lists domains that obtain their PHP version from a specified PHP configuration.\n\n**Note:**\n\n  This document **only** applies to systems that run EasyApache 4.\n\n**Important:**\n\n  When you disable the [WebServer role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "LangPHP-php_get_impacted_domains",
        "parameters": [
          {
            "description": "A domain on the system.\n\n**Note:**\n\n * You must pass either the `system_default` or `domain` parameters, or both.\n * You can pass this parameter multiple times.\n * You **cannot** pass the name of a parked domain.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "Whether to return domains that inherit the system's default PHP version.\n\n* `1` - Return domains that inherit the system's default PHP version.\n* `0` - Do **not** return domains that inherit the system's default PHP version.\n\n**Note:**\n\nIf you pass this parameter with a false value and do **not** also pass the domain parameter, the function returns an error.",
            "in": "query",
            "name": "system_default",
            "required": false,
            "schema": {
              "enum": [
                1,
                0
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "php_get_impacted_domains",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LangPHP",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "domains": {
                              "description": "The domains that obtain their PHP version from the PHP configuration. Any valid domain or subdomain.\n\n**Note:**\n\nThis function does **not** return parked domains.",
                              "items": {
                                "example": "example.com",
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return domains that shared PHP configuration",
        "tags": [
          "LangPHP",
          "PHP Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_get_impacted_domains\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_get_impacted_domains"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_get_impacted_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_impacted_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_get_impacted_domains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_get_impacted_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_impacted_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_get_impacted_domains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 62"
      }
    },
    "/LangPHP/php_get_installed_versions": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the system's PHP versions.\n\n**Note:**\n\n  This document **only** applies to systems that run EasyApache 4.\n\n**Important:**\n\n  When you disable the [WebServer role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "LangPHP-php_get_installed_versions",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "php_get_installed_versions",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LangPHP",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "versions": {
                              "description": "The available PHP versions.\n\n- `ea-php72`\n- `ea-php73`\n- `ea-php74`\n-  Any custom PHP package name.",
                              "items": {
                                "example": "ea-php72",
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return installed PHP versions",
        "tags": [
          "LangPHP",
          "PHP Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_get_installed_versions\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_get_installed_versions"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_get_installed_versions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_installed_versions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_get_installed_versions/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_get_installed_versions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_installed_versions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_get_installed_versions'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/LangPHP/php_get_system_default_version": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the system’s default PHP version.\n\n**Important**:\n\n  When you disable the [Web Server role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "LangPHP-php_get_system_default_version",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "php_get_system_default_version",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LangPHP",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "version": {
                              "description": "The system’s default PHP version.\n\nPossible values include:\n  * An installed PHP package that cPanel provides. For example, `ea-php80`\n  * An installed PHP package that another vendor provides. For example, `alt-php42`\n  * `null` – This value means PHP is **not** installed. Also, the `errors` return will contain a message that indicates that PHP is not installed.\n\n**Note**:\n\n  If no default is explicitly set, the package for the newest installed version of PHP is chosen.",
                              "example": "ea-php73",
                              "nullable": true,
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return default PHP version",
        "tags": [
          "LangPHP",
          "PHP Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_get_system_default_version\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_get_system_default_version"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_get_system_default_version.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_system_default_version.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_get_system_default_version/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_get_system_default_version.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_system_default_version.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_get_system_default_version'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/LangPHP/php_get_vhost_versions": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the PHP version of every virtual host that a reseller controls.\n\nYou can get the version of a single virtual host by providing an optional `vhost` name.\n\n**Note:**\n\n  This document **only** applies to systems that run EasyApache 4.\n\n**Important:**\n\n  When you disable the [Web Server role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "LangPHP-php_get_vhost_versions",
        "parameters": [
          {
            "description": "The PHP Virtual Hostname.",
            "in": "query",
            "name": "vhost",
            "required": false,
            "schema": {
              "example": "your-domain.test",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "php_get_vhost_versions",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LangPHP",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects of the virtual host's suspended\nstatus, versions, virtual hosts, and accounts.\nNote: Returns a single object when using the `vhost` parameter.",
                          "items": {
                            "properties": {
                              "account": {
                                "description": "The account's name.",
                                "example": "blee",
                                "format": "username",
                                "type": "string"
                              },
                              "account_owner": {
                                "description": "The account's owner.",
                                "example": "blee",
                                "format": "username",
                                "type": "string"
                              },
                              "documentroot": {
                                "description": "The virtual host's document root.",
                                "example": "/home/blee/public_html",
                                "format": "path",
                                "type": "string"
                              },
                              "homedir": {
                                "description": "The virtual host's home directory.",
                                "example": "/home/blee",
                                "format": "path",
                                "type": "string"
                              },
                              "main_domain": {
                                "description": "Whether the virtual host is the primary domain.\n\n**Note:**\n\n* `1` - The primary domain\n* `0` - **Not** the primary domain",
                                "enum": [
                                  1,
                                  0
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "php_fpm": {
                                "description": "Whether FPM is enabled on the virtual host.\n\n* `1` - PHP-FPM enabled.\n* `0` - PHP-FPM **not** enabled.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "php_fpm_pool_parms": {
                                "description": "An object containing the domain's PHP-FPM parameters.",
                                "properties": {
                                  "pm_max_children": {
                                    "description": "The maximum number of child pages per pool.",
                                    "example": 5,
                                    "minimum": 1,
                                    "type": "integer"
                                  },
                                  "pm_max_requests": {
                                    "description": "The maximum number of requests per pool.",
                                    "example": 20,
                                    "minimum": 1,
                                    "type": "integer"
                                  },
                                  "pm_process_idle_timeout": {
                                    "description": "A specified time of idleness before the system kills an FPM child process.",
                                    "example": 10,
                                    "minimum": 1,
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "phpversion_source": {
                                "description": "How the virtual host determines its PHP version.",
                                "items": {
                                  "properties": {
                                    "domain": {
                                      "description": "The domain the virtual host inherits its PHP version from.",
                                      "example": "blee.com",
                                      "format": "domain",
                                      "type": "string"
                                    },
                                    "system_default": {
                                      "description": "Whether the virtual host uses the system's default PHP version.\n* `1` - Uses the system default PHP version.\n\n**Note:**\n\n  The function **only** returns this value if true.",
                                      "enum": [
                                        1
                                      ],
                                      "example": 1,
                                      "type": "integer"
                                    }
                                  },
                                  "type": "object"
                                },
                                "properties": {
                                  "domain": {}
                                },
                                "type": "array"
                              },
                              "version": {
                                "description": "The virtual host's PHP version.\n* `ea-php72`\n* `ea-php73`\n* `ea-php74`\n* Any custom PHP package name.",
                                "example": "ea-php72",
                                "type": "string"
                              },
                              "vhost": {
                                "description": "The virtual host's name.",
                                "example": "blee.com",
                                "format": "domain",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return virtual host's PHP version",
        "tags": [
          "LangPHP",
          "PHP Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_get_vhost_versions\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_get_vhost_versions"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_get_vhost_versions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_vhost_versions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_get_vhost_versions/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_get_vhost_versions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_get_vhost_versions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_get_vhost_versions'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/LangPHP/php_ini_get_user_basic_directives": {
      "get": {
        "x-readonly": true,
        "description": "This function lists a virtual host's basic PHP directives. The Basic Mode section of cPanel's [MultiPHP INI Editor](https://go.cpanel.net/cPanelMultiPHPINI)  interface (Home >> Software >> MultiPHP INI Editor) also lists these directives.\n\n**Note:**\n\n  This document **only** applies to systems that run EasyApache 4 with MultiPHP enabled.\n\n**Important:**\n\n  When you disable the [WebServer role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "LangPHP-php_ini_get_user_basic_directives",
        "parameters": [
          {
            "description": "The type of `php.ini` file.\n\n- `home`\n- `vhost`\n\n**Important:**\n\n If you set this parameter to `vhost`, you **must** also include the `vhost` parameter.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "enum": [
                "home",
                "vhost"
              ],
              "example": "vhost",
              "type": "string"
            }
          },
          {
            "description": "The name of a virtual host.\n\n**Important:**\n\n If the type value is `vhost`, you **must** use this parameter.",
            "in": "query",
            "name": "vhost",
            "required": false,
            "schema": {
              "example": "clearly.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "php_ini_get_user_basic_directives",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LangPHP",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "directives": {
                              "description": "An array of the available directives in the `php.ini` file of the selected user's PHP version.",
                              "items": {
                                "properties": {
                                  "default_value": {
                                    "description": "The directive's default value.",
                                    "example": 1,
                                    "oneOf": [
                                      {
                                        "type": "string"
                                      },
                                      {
                                        "type": "boolean"
                                      },
                                      {
                                        "type": "integer"
                                      },
                                      {
                                        "type": "number"
                                      }
                                    ]
                                  },
                                  "info": {
                                    "description": "The purpose of the directive.",
                                    "example": "This option enables the URL-aware fopen wrappers that enable accessing URL object like files. Default wrappers are provided for the access of remote files using the ftp or http protocol, some extensions like zlib may register additional wrappers.",
                                    "type": "string"
                                  },
                                  "key": {
                                    "description": "The directive's name.",
                                    "example": "allow_url_fopen",
                                    "type": "string"
                                  },
                                  "php_ini_mode": {
                                    "description": "The directive's [PHP_INI mode](http://php.net/manual/en/configuration.changes.modes.php).\n\n* `PHP_INI_SYSTEM`\n* `PHP_INI_PERDIR`\n* `PHP_INI_ALL`\n* `PHPINI_ONLY`",
                                    "enum": [
                                      "PHP_INI_SYSTEM",
                                      "PHP_INI_PERDIR",
                                      "PHP_INI_ALL",
                                      "PHPINI_ONLY"
                                    ],
                                    "example": "PHP_INI_SYSTEM",
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of value that the directive uses.\n\n* `string`\n* `boolean`\n* `integer`\n* `float`",
                                    "enum": [
                                      "string",
                                      "boolean",
                                      "integer",
                                      "float"
                                    ],
                                    "example": "integer",
                                    "type": "string"
                                  },
                                  "value": {
                                    "description": "The directive's current value.",
                                    "example": "On",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return basic PHP directives",
        "tags": [
          "LangPHP",
          "PHP Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_ini_get_user_basic_directives \\\n  type='vhost'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_ini_get_user_basic_directives?type=vhost"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_ini_get_user_basic_directives.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_get_user_basic_directives.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_ini_get_user_basic_directives/,\n    {\n        'type' => 'vhost',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_ini_get_user_basic_directives.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_get_user_basic_directives.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_ini_get_user_basic_directives',\n    array (\n        'type' => 'vhost',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/LangPHP/php_ini_get_user_content": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the contents of a virtual host's `php.ini` file.\n\n**Note:**\n\n  This document **only** applies to systems that run EasyApache 4 with MultiPHP enabled.\n\n**Important:**\n\n  When you disable the [WebServer role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "LangPHP-php_ini_get_user_content",
        "parameters": [
          {
            "description": "The type of `php.ini` file.\n\n* `home`\n* `vhost`\n\n**Important:**\n\nIf you set this parameter to `vhost`, you **must** also include the `vhost` parameter.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "example": "vhost",
              "type": "string"
            }
          },
          {
            "description": "The name of a virtual host.\n\n**Important:**\n\n If the type value is `vhost`, you **must** use this parameter.",
            "in": "query",
            "name": "vhost",
            "required": false,
            "schema": {
              "example": "clearly.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "php_ini_get_user_content",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LangPHP",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "content": {
                              "description": "The contents of the requested user's `php.ini` file.",
                              "example": "allow_url_fopen = On\\nallow_url_include = On\\nasp_tags = Off\\ndisplay_errors = On\\nenable_dl = Off\\nfile_uploads = On\\ninclude_path = &quot;.;/path/to/php/pear&quot;\\nmax_execution_time = 30\\nmax_input_time = 60\\nmax_input_vars = 1050\\nmemory_limit = 32M\\nupload_max_filesize = 2M",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return virtual host's php.ini content",
        "tags": [
          "LangPHP",
          "PHP Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_ini_get_user_content \\\n  type='vhost'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_ini_get_user_content?type=vhost"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_ini_get_user_content.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_get_user_content.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_ini_get_user_content/,\n    {\n        'type' => 'vhost',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_ini_get_user_content.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_get_user_content.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_ini_get_user_content',\n    array (\n        'type' => 'vhost',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/LangPHP/php_ini_get_user_paths": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the `php.ini` file paths for the user's home directory and virtual host document roots.\n\n**Note:**\n\n  This document **only** applies to systems that run EasyApache 4 with MultiPHP enabled.\n\n**Important:**\n\n  When you disable the [WebServer role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "LangPHP-php_ini_get_user_paths",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "php_ini_get_user_paths",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LangPHP",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "paths": {
                              "description": "An array of objects of `php.ini` file information.",
                              "items": {
                                "properties": {
                                  "account": {
                                    "description": "The account's name.",
                                    "example": "allthethings",
                                    "type": "string"
                                  },
                                  "documentroot": {
                                    "description": "The virtual host's document root.",
                                    "example": "/home/allthethings/public_html",
                                    "type": "string"
                                  },
                                  "homedir": {
                                    "description": "The home directory.",
                                    "example": "/home/allthethings/",
                                    "type": "string"
                                  },
                                  "main_domain": {
                                    "description": "Whether the virtual host is the account's primary domain.\n* `1` - Primary domain.\n* `0` - **Not** the primary domain.",
                                    "enum": [
                                      1,
                                      0
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "path": {
                                    "description": "The name of the virtual host's `php.ini` file.",
                                    "example": "php.ini",
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The record's type.\n* `home`\n* `vhost`",
                                    "enum": [
                                      "home",
                                      "vhost"
                                    ],
                                    "example": "vhost",
                                    "type": "string"
                                  },
                                  "version": {
                                    "description": "The default PHP version.\n- `ea-php##`, where `##` represents the major and minor versions of PHP (for example, `ea-php72` represents PHP 7.2).\n- Any custom PHP package name.",
                                    "example": "ea-php72",
                                    "type": "string"
                                  },
                                  "vhost": {
                                    "description": "The name of the virtual host.",
                                    "example": "clearly.com",
                                    "format": "domain",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return php.ini file paths",
        "tags": [
          "LangPHP",
          "PHP Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_ini_get_user_paths\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_ini_get_user_paths"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_ini_get_user_paths.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_get_user_paths.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_ini_get_user_paths/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_ini_get_user_paths.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_get_user_paths.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_ini_get_user_paths'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/LangPHP/php_ini_set_user_basic_directives": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sets the values of any basic PHP directive. The *Basic Mode* section of cPanel's\n[*MultiPHP INI Editor*](https://go.cpanel.net/whmdocsMultiPHPINIEditor) interface (*WHM >> Home >> Software >> MultiPHP INI Editor*) lists these directives.\n\n**Note:**\n\n  This document **only** applies to systems that run EasyApache 4 with MultiPHP enabled.\n\n**Important:**\n\n  When you disable the [Web Server role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "LangPHP-php_ini_set_user_basic_directives",
        "parameters": [
          {
            "description": "The name of a PHP directive and its value.\n\n**Note:**\n\n* To change the directive's value for multiple PHP directives, increment the parameter name. For example, the `directive-1`, `directive-2`, and `directive-3` parameters.\n* You **must** format values as `<directive>:<value>`  ",
            "examples": {
              "multiple": {
                "summary": "Multiple PHP directives.",
                "value": "directive-1=allow_url_fopen%3A0&directive-2=upload_max_filesize%3A4M&directive-3=post_max_size"
              },
              "single": {
                "summary": "A single PHP directive.",
                "value": "allow_url_fopen:0"
              }
            },
            "in": "query",
            "name": "directive",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The type of `php.ini` file.\n\n* `home`\n* `vhost`\n\n**Important:**\n\n If you set this parameter to `vhost`, you **must** also include the `vhost` parameter.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "enum": [
                "home",
                "vhost"
              ],
              "example": "vhost",
              "type": "string"
            }
          },
          {
            "description": "The name of a virtual host.\n\n**Important:**\n\n If the `type` value is `vhost`, you **must** use this parameter.",
            "in": "query",
            "name": "vhost",
            "required": false,
            "schema": {
              "example": "clearly.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "php_ini_set_user_basic_directives",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LangPHP",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {},
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "LangPHP": {
                              "description": "An object containing the virtual host's PHP directive information.",
                              "properties": {
                                "path": {
                                  "description": "The absolute file path to the `php.ini` file.",
                                  "example": "/home/allthethings/public_html/php.ini",
                                  "format": "path",
                                  "type": "string"
                                },
                                "phpversion": {
                                  "description": "The virtual host's installed version of PHP.",
                                  "example": "ea-php55",
                                  "type": "string"
                                },
                                "type": {
                                  "description": "The type of `php.ini` file.\n\n* `home`\n* `vhost`",
                                  "enum": [
                                    "home",
                                    "vhost"
                                  ],
                                  "example": "vhost",
                                  "type": "string"
                                },
                                "vhost": {
                                  "description": "The virtual host's name.",
                                  "example": "clearly.com",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update basic PHP directives",
        "tags": [
          "LangPHP",
          "PHP Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_ini_set_user_basic_directives \\\n  type='vhost' \\\n  directive='allow_url_fopen:0'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_ini_set_user_basic_directives?type=vhost&directive=allow_url_fopen%3a0"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_ini_set_user_basic_directives.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_set_user_basic_directives.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_ini_set_user_basic_directives/,\n    {\n        'type' => 'vhost',\n        'directive' => 'allow_url_fopen:0',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_ini_set_user_basic_directives.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_set_user_basic_directives.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_ini_set_user_basic_directives',\n    array (\n        'type' => 'vhost',\n        'directive' => 'allow_url_fopen:0',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/LangPHP/php_ini_set_user_content": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function changes the contents of a virtual host's `php.ini` file.\n\n**Note:**\n\n  This document **only** applies to systems that run EasyApache 4 with MultiPHP enabled.\n\n**Important:**\n\n  When you disable the [WebServer role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "LangPHP-php_ini_set_user_content",
        "parameters": [
          {
            "description": "The content of the `php.ini` file to change.",
            "in": "query",
            "name": "content",
            "required": true,
            "schema": {
              "example": "%5BPHP%5D%0D%0A%3B+About+php.ini%0D%0A%3B+php.ini+is+responsible+for+configuring+many+of+the+aspects+of+PHP%27s+behavior.%0D%0Apcre.backtrack_limit%3D100000",
              "type": "string"
            }
          },
          {
            "description": "The type of `php.ini` file.\n\n* `home`\n* `vhost`\n\n**Important:**\n\n If you set this parameter to `vhost`, you **must** also include the `vhost` parameter.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "enum": [
                "host",
                "vhost"
              ],
              "example": "vhost",
              "type": "string"
            }
          },
          {
            "description": "The name of a virtual host.\n\n**Important:**\n\n If the type value is `vhost` , you **must** use this parameter.",
            "in": "query",
            "name": "vhost",
            "required": false,
            "schema": {
              "example": "clearly.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "php_ini_set_user_content",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LangPHP",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "This value will always be `null`.",
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update virtual host's php.ini content",
        "tags": [
          "LangPHP",
          "PHP Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_ini_set_user_content \\\n  type='vhost' \\\n  content='%5BPHP%5D%0D%0A%3B+About+php.ini%0D%0A%3B+php.ini+is+responsible+for+configuring+many+of+the+aspects+of+PHP%27s+behavior.%0D%0Apcre.backtrack_limit%3D100000'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_ini_set_user_content?type=vhost&content=%255BPHP%255D%250D%250A%253B%2bAbout%2bphp.ini%250D%250A%253B%2bphp.ini%2bis%2bresponsible%2bfor%2bconfiguring%2bmany%2bof%2bthe%2baspects%2bof%2bPHP%2527s%2bbehavior.%250D%250Apcre.backtrack_limit%253D100000"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_ini_set_user_content.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_set_user_content.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_ini_set_user_content/,\n    {\n        'type' => 'vhost',\n        'content' => '%5BPHP%5D%0D%0A%3B+About+php.ini%0D%0A%3B+php.ini+is+responsible+for+configuring+many+of+the+aspects+of+PHP%27s+behavior.%0D%0Apcre.backtrack_limit%3D100000',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_ini_set_user_content.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_ini_set_user_content.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_ini_set_user_content',\n    array (\n        'type' => 'vhost',\n        'content' => '%5BPHP%5D%0D%0A%3B+About+php.ini%0D%0A%3B+php.ini+is+responsible+for+configuring+many+of+the+aspects+of+PHP%27s+behavior.%0D%0Apcre.backtrack_limit%3D100000',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/LangPHP/php_set_vhost_versions": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sets a virtual host's PHP version.\n\n**Note:**\n\n  This document **only** applies to systems that run EasyApache 4.\n\n**Important:**\n\n  When you disable the [WebServer role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "LangPHP-php_set_vhost_versions",
        "parameters": [
          {
            "description": "The PHP version of a virtual host.",
            "in": "query",
            "name": "version",
            "required": true,
            "schema": {
              "example": "ea-php72",
              "type": "string"
            }
          },
          {
            "description": "The virtual host's name.\n\n**Note:**\n\n  To change the PHP version of multiple virtual hosts, duplicate or increment the parameter name. For example, `vhost-1`, `vhost-2`, and `vhost-3`.",
            "examples": {
              "multiple": {
                "summary": "Set a multiple vhosts.",
                "value": "vhost-1=example.com&vhost-2=example2.com&vhost-3=example3.com"
              },
              "single": {
                "summary": "Set a single vhost.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "vhost",
            "required": true,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "php_set_vhost_versions",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LangPHP",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "vhosts": {
                              "description": "The names of the changed virtual hosts.",
                              "items": {
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update virtual host's PHP version",
        "tags": [
          "LangPHP",
          "PHP Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LangPHP \\\n  php_set_vhost_versions \\\n  version='ea-php72' \\\n  vhost='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LangPHP/php_set_vhost_versions?version=ea-php72&vhost=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LangPHP_php_set_vhost_versions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LangPHP_php_set_vhost_versions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LangPHP/,\n    q/php_set_vhost_versions/,\n    {\n        'version' => 'ea-php72',\n        'vhost' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LangPHP_php_set_vhost_versions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LangPHP_php_set_vhost_versions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LangPHP',\n    'php_set_vhost_versions',\n    array (\n        'version' => 'ea-php72',\n        'vhost' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/LastLogin/get_last_or_current_logged_in_ip": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the IP address of the user who most recently logged in.",
        "operationId": "LastLogin-get_last_or_current_logged_in_ip",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_last_or_current_logged_in_ip",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LastLogin",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The IP address of the user who most recently logged in.",
                          "items": {
                            "example": "192.168.0.1",
                            "format": "ipv4",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` Success.\n* `0` Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return last authenticated login IP address",
        "tags": [
          "LastLogin",
          "Login Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LastLogin \\\n  get_last_or_current_logged_in_ip\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LastLogin/get_last_or_current_logged_in_ip"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LastLogin_get_last_or_current_logged_in_ip.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LastLogin_get_last_or_current_logged_in_ip.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LastLogin/,\n    q/get_last_or_current_logged_in_ip/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LastLogin_get_last_or_current_logged_in_ip.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LastLogin_get_last_or_current_logged_in_ip.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LastLogin',\n    'get_last_or_current_logged_in_ip'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.48"
      }
    },
    "/Locale/get_attributes": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves information about the user's current locale setting.",
        "operationId": "Locale-get_attributes",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_attributes",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Locale",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "direction": {
                              "description": "The locale's text direction.\n* `ltr` - left to right.\n* `rtl` - right to left.",
                              "enum": [
                                "ltr",
                                "rtl"
                              ],
                              "example": "ltr",
                              "type": "string"
                            },
                            "encoding": {
                              "description": "The user's character set.",
                              "example": "utf-8",
                              "type": "string"
                            },
                            "locale": {
                              "description": "The locale's two-letter ISO-3166 code.",
                              "example": "en",
                              "format": "ISO-3166-1 (alpha-2)",
                              "type": "string"
                            },
                            "name": {
                              "description": "The locale's full name.",
                              "example": "English",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return current locale settings",
        "tags": [
          "Locale",
          "Language"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Locale \\\n  get_attributes\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Locale/get_attributes"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Locale_get_attributes.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Locale_get_attributes.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Locale/,\n    q/get_attributes/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Locale_get_attributes.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Locale_get_attributes.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Locale',\n    'get_attributes'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Locale/list_locales": {
      "get": {
        "x-readonly": true,
        "description": "This function lists an account's available interface languages.",
        "operationId": "Locale-list_locales",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_locales",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Locale",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "direction": {
                                "description": "The locale's text direction.\n* `ltr` - Left to right.\n* `rtl` - Right to left.",
                                "enum": [
                                  "ltr",
                                  "rtl"
                                ],
                                "example": "ltr",
                                "type": "string"
                              },
                              "local_name": {
                                "description": "The locale's full name, in the locale's language.",
                                "example": "Deutsch",
                                "type": "string"
                              },
                              "locale": {
                                "description": "The locale's two-letter [ISO-3166 code](http://www.iso.org/iso/country_codes.htm).",
                                "example": "de",
                                "format": "ISO-3166-1 (alpha-2)",
                                "type": "string"
                              },
                              "name": {
                                "description": "The locale's full name.",
                                "example": "German",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return available locales",
        "tags": [
          "Locale",
          "Language"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Locale \\\n  list_locales\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Locale/list_locales"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Locale_list_locales.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Locale_list_locales.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Locale/,\n    q/list_locales/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Locale_list_locales.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Locale_list_locales.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Locale',\n    'list_locales'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/Locale/set_locale": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sets the account's locale.",
        "operationId": "Locale-set_locale",
        "parameters": [
          {
            "description": "The locale's abbreviated name according to UAPI's `Locale::list_locales` function.",
            "in": "query",
            "name": "locale",
            "required": true,
            "schema": {
              "example": "en",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_locale",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Locale",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {},
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update cPanel account locale",
        "tags": [
          "Locale",
          "Language"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Locale \\\n  set_locale \\\n  locale='en'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Locale/set_locale?locale=en"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Locale_set_locale.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Locale_set_locale.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Locale/,\n    q/set_locale/,\n    {\n        'locale' => 'en',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Locale_set_locale.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Locale_set_locale.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Locale',\n    'set_locale',\n    array (\n        'locale' => 'en',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/LogManager/delete_archive": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "Delete a specific log archive file from the authenticated user's `~/logs` directory.",
        "operationId": "LogManager-delete_archive",
        "parameters": [
          {
            "description": "The log archive filename to delete. Requirements:\n* Must reside in the user's `~/logs` directory.\n* Must end with `.gz`.\n* Must not contain path traversal characters.\n",
            "in": "query",
            "name": "file",
            "required": true,
            "schema": {
              "example": "example.com-Aug-2024.gz",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_archive",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LogManager",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {},
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.\n",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete a log archive file",
        "tags": [
          "LogManager",
          "Logs"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LogManager \\\n  delete_archive \\\n  file=example.com-Aug-2024.gz\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LogManager/delete_archive?file=example.com-Aug-2024.gz"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LogManager_delete_archive.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LogManager_delete_archive.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LogManager/,\n    q/delete_archive/,\n    {\n        'file' => 'example.com-Aug-2024.gz',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    print to_json($data);\n}\nelse {\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LogManager_delete_archive.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LogManager_delete_archive.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LogManager',\n    'delete_archive',\n    array (\n        'file' => 'example.com-Aug-2024.gz',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    print to_json($data);\n}\nelse {\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 136"
      }
    },
    "/LogManager/get_settings": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the account's log archival settings.",
        "operationId": "LogManager-get_settings",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_settings",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LogManager",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "archive_logs": {
                              "description": "Whether the system archives log files to your home directory.\n* `1` — Archives the logs.\n* `0` — Does **not** archive the logs.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "prune_archive": {
                              "description": "Whether the system removes the previous month's archived log files from your home directory.\n* `1` — Removes the logs.\n* `0` — Does **not** remove the logs.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "retention_days": {
                              "description": "The number of days the system retains archived log files before automatic removal.\nA value of `0` means the system retains logs indefinitely.\nWhen the user has not set a custom value, this returns the server-wide default.",
                              "example": 30,
                              "type": "integer"
                            },
                            "using_default": {
                              "description": "Whether the user uses the server-wide default retention period.\n* `1` — Uses the server default.\n* `0` — Uses a custom retention value.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Retrieve cPanel account's log archival settings",
        "tags": [
          "LogManager",
          "Logs"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LogManager \\\n  get_settings\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LogManager/get_settings"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LogManager_get_settings.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LogManager_get_settings.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LogManager/,\n    q/get_settings/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LogManager_get_settings.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LogManager_get_settings.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LogManager',\n    'get_settings'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/LogManager/list_archives": {
      "get": {
        "x-readonly": true,
        "description": "This function returns a list of the user's archive files.",
        "operationId": "LogManager-list_archives",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_archives",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LogManager",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that contain information about the archive files. These files reside in the cPanel user's `~/logs` directory.",
                          "items": {
                            "properties": {
                              "file": {
                                "description": "The archive file's name.",
                                "example": "domain.com-May-2019.gz",
                                "type": "string"
                              },
                              "mtime": {
                                "description": "The archive file's last modified date.",
                                "example": 1557835866,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "path": {
                                "description": "The archive file's path.",
                                "example": "/home/user/logs/domain.com-May-2019.gz",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's archive files list",
        "tags": [
          "LogManager",
          "Logs"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LogManager \\\n  list_archives\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LogManager/list_archives"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LogManager_list_archives.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LogManager_list_archives.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LogManager/,\n    q/list_archives/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LogManager_list_archives.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LogManager_list_archives.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LogManager',\n    'list_archives'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/LogManager/list_error_logs": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the website's PHP error log files with size\nand last-modified metadata. It does not return file contents.",
        "operationId": "LogManager-list_error_logs",
        "parameters": [
          {
            "description": "A domain owned by the cPanel account.",
            "example": "example.com",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_error_logs",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LogManager",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects describing the requested error logs.",
                          "items": {
                            "properties": {
                              "error": {
                                "description": "An error message that describes why the system could not\nreturn metadata for this log file.",
                                "example": null,
                                "nullable": true,
                                "type": "string"
                              },
                              "file_id": {
                                "description": "The `file_id` value for each log file.\n\n* `php_fpm_error_log` — The PHP FPM error log\n  file located in the user's home directory\n  under the `logs/` subdirectory.\n* `docroot_error_log` — The PHP error log\n  file located in the website's document\n  root directory.\n* `homedir_error_log` — The home directory\n  error log file located in the user's home\n  directory.",
                                "enum": [
                                  "php_fpm_error_log",
                                  "docroot_error_log",
                                  "homedir_error_log"
                                ],
                                "example": "php_fpm_error_log",
                                "type": "string"
                              },
                              "modified_today": {
                                "description": "Whether the log file was last modified today\n(server local time).\n\n* `1` — The file was modified today.\n* `0` — The file was not modified today.",
                                "enum": [
                                  1,
                                  0
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "mtime": {
                                "description": "The log file's last-modified time as a unix\ntimestamp.",
                                "example": 1778112083,
                                "nullable": true,
                                "type": "integer"
                              },
                              "path": {
                                "description": "The absolute path to the log file.",
                                "example": "/home/cpuser/logs/example_com.php.error.log",
                                "type": "string"
                              },
                              "size": {
                                "description": "The log file's size, in bytes.",
                                "example": 4096,
                                "nullable": true,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return domain's PHP error logs",
        "tags": [
          "LogManager",
          "Logs"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LogManager \\\n  list_error_logs \\\n  domain=example.com\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LogManager/list_error_logs?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to the cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LogManager_list_error_logs.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/LogManager_list_error_logs.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LogManager/,\n    q/list_error_logs/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to the cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LogManager_list_error_logs.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/LogManager_list_error_logs.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LogManager',\n    'list_error_logs',\n    array(\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138"
      }
    },
    "/LogManager/set_settings": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function saves the account's log archive settings.\n\n**Note:**\n\nYou **must** pass at least one of the `archive_logs`, `prune_archive`, or `retention_days` parameters.",
        "operationId": "LogManager-set_settings",
        "parameters": [
          {
            "description": "Whether to archive log files to your home directory after the\nsystem processes statistics.\n* `1` — Archive the logs.\n* `0` — Do **not** archive the logs.\n\n**Note:**\n\n* This parameter defaults to the `archive-logs` setting's value in the user's `~/.cpanel-logs` file.\n* If this file does **not** exist, this parameter defaults to the `default_archive-logs` key's value in the [`cpanel.config`](https://go.cpanel.net/cpanelconfiginvalid) file.",
            "in": "query",
            "name": "archive_logs",
            "required": false,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to remove the previous month's archived logs from the `~/logs directory` at the end of each month.\n* `1` — Remove the logs.\n* `0` — Do **not** remove the logs.\n\n**Note:**\n\n* This parameter defaults to the `remove-old-archived-logs` setting's value in the user's `~/.cpanel-logs` file.\n* If this file doesn't exist, this parameter defaults to the `default_remove-old-archive-logs` key's value in the [`cpanel.config`](https://go.cpanel.net/cpanelconfiginvalid) file.",
            "in": "query",
            "name": "prune_archive",
            "required": false,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The number of days to retain archived log files before automatic removal.\n* `0` — Retain logs indefinitely.\n* `-1` — Clear the per-user override and revert to the server default.\n* Any positive integer — Retain logs for that many days.\n\nWhen not provided, the existing value is preserved.",
            "in": "query",
            "name": "retention_days",
            "required": false,
            "schema": {
              "example": 30,
              "minimum": -1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_settings",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LogManager",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {},
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Save cPanel account's log archive settings",
        "tags": [
          "LogManager",
          "Logs"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LogManager \\\n  set_settings \\\n  archive_logs=1 \\\n  prune_archive=1 \\\n  retention_days=30\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LogManager/set_settings"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LogManager_set_settings.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/LogManager_set_settings.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LogManager/,\n    q/set_settings/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LogManager_set_settings.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/LogManager_set_settings.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LogManager',\n    'set_settings'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/LogManager/view_error_log": {
      "get": {
        "x-readonly": true,
        "description": "This function reads the trailing lines of a single PHP error log\nfile for a domain owned by the current cPanel user and returns\nthem in chronological order (oldest first).",
        "operationId": "LogManager-view_error_log",
        "parameters": [
          {
            "description": "A domain owned by the current cPanel user.",
            "example": "example.com",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Which of the three well-known log locations to read.\n\n* `php_fpm_error_log` — The PHP FPM error log. This file is located in the `logs/` directory within the cPanel account's home directory.\n* `docroot_error_log` — The PHP error log. This file is located in the domain's document root directory.\n* `homedir_error_log` — The cPanel account PHP error log. This file is located in the cPanel account's home directory.",
            "example": "php_fpm_error_log",
            "in": "query",
            "name": "file_id",
            "required": true,
            "schema": {
              "enum": [
                "php_fpm_error_log",
                "docroot_error_log",
                "homedir_error_log"
              ],
              "type": "string"
            }
          },
          {
            "description": "The number of lines to retrieve from the end of the log file.\n\n**Note:**\n\nValues above `5000` are silently capped at `5000`.",
            "example": 100,
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "view_error_log",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "LogManager",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object describing the requested log file\nand its content.",
                          "properties": {
                            "file_id": {
                              "description": "The identifier of the log file that was\nread. Same value as the `file_id` input\nparameter.\n\n* `php_fpm_error_log` — The PHP FPM error log. This file is located in the `logs/` directory within the cPanel account's home directory.\n* `docroot_error_log` — The PHP error log. This file is located in the domain's document root directory.\n* `homedir_error_log` — The cPanel account PHP error log. This file is located in the cPanel account's home directory.",
                              "enum": [
                                "php_fpm_error_log",
                                "docroot_error_log",
                                "homedir_error_log"
                              ],
                              "example": "php_fpm_error_log",
                              "type": "string"
                            },
                            "log_content": {
                              "description": "The end of the error log file in chronological order.\n\n**Note:**\n\nThis array will return an empty value if the log file is empty.",
                              "example": [
                                "[07-May-2026 00:01:23 UTC] PHP Warning: Use of undefined constant FOO",
                                "[07-May-2026 00:02:47 UTC] PHP Fatal error: Allowed memory size exhausted"
                              ],
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "lines_read": {
                              "description": "The number of lines returned in the `log_content` return's value.",
                              "example": 2,
                              "type": "integer"
                            },
                            "modified_today": {
                              "description": "Whether the log file was modified today. The function determines the time and date with the cPanel & WHM server's time.\n\n* `1` — The file was modified today.\n* `0` — The file was not modified today.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "mtime": {
                              "description": "The log file's last-modified time, in Unix time format.\n\n**Note:**\n\nThis return value is determined via a `fstat` system call on the log file.",
                              "example": 1778112083,
                              "type": "integer"
                            },
                            "partial": {
                              "description": "Whether the log file contains more lines than the `limit` parameter's value.\n\n* `1` — The file exceeds the `limit` parameter's value.\n* `0` — The file did not exceed the `limit` parameter's value.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 0,
                              "type": "integer"
                            },
                            "path": {
                              "description": "The absolute path to the log file on disk.",
                              "example": "/home/cpuser/logs/example_com.php.error.log",
                              "type": "string"
                            },
                            "size": {
                              "description": "The log file's size, in bytes.\n\n**Note:**\n\nThis return value is determined via a `fstat` system call on the log file.",
                              "example": 4096,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return PHP error log for a domain",
        "tags": [
          "LogManager",
          "Logs"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  LogManager \\\n  view_error_log \\\n  domain=example.com \\\n  file_id=php_fpm_error_log \\\n  limit=100\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/LogManager/view_error_log?domain=example.com&file_id=php_fpm_error_log&limit=100"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to the cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file LogManager_view_error_log.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/LogManager_view_error_log.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/LogManager/,\n    q/view_error_log/,\n    {\n        'domain'  => 'example.com',\n        'file_id' => 'php_fpm_error_log',\n        'limit'   => 100,\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to the cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file LogManager_view_error_log.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/LogManager_view_error_log.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'LogManager',\n    'view_error_log',\n    array(\n        'domain'  => 'example.com',\n        'file_id' => 'php_fpm_error_log',\n        'limit'   => 100,\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138"
      }
    },
    "/Mailboxes/expunge_mailbox_messages": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function marks the selected mail messages as deleted.",
        "operationId": "Mailboxes-expunge_mailbox_messages",
        "parameters": [
          {
            "description": "The email account's name.",
            "examples": {
              "_mainaccount": {
                "summary": "The `_mainaccount` alias, which represents the cPanel user's mailbox.",
                "value": "_mainaccount@example.com"
              },
              "cpanel-user": {
                "summary": "The cPanel user's account name.",
                "value": "example"
              },
              "email": {
                "summary": "A valid email account.",
                "value": "user@example.com"
              }
            },
            "in": "query",
            "name": "account",
            "required": true,
            "schema": {
              "anyOf": [
                {
                  "format": "email",
                  "type": "string"
                },
                {
                  "format": "username",
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The mailbox to operate on.\n\n**Note:**\n\n* Use the `Mailboxes::get_mailbox_status_list` function to list possible values for the mailbox parameter.\n* Because you cannot escape wildcard characters such as (`*`), we recommend that you use functions that use the `mailbox_guid` parameter instead. For example, the `Mailboxes::expunge_messages_for_mailbox_guid` function.",
            "in": "query",
            "name": "mailbox",
            "required": true,
            "schema": {
              "example": "INBOX.user@example_com",
              "type": "string"
            }
          },
          {
            "description": "The Dovecot query to execute.\n\n**Note:**\n\nThe query parameter prevents accidental removal of all messages in the mailbox. For more information, read Dovecot's [Search Query](http://wiki2.dovecot.org/Tools/Doveadm/SearchQuery) documentation.",
            "in": "query",
            "name": "query",
            "required": true,
            "schema": {
              "example": "savedbefore 52w",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "expunge_mailbox_messages",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mailboxes",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {},
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete selected messages in mailbox",
        "tags": [
          "Mailboxes",
          "Mailbox Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mailboxes \\\n  expunge_mailbox_messages \\\n  account='_mainaccount@example.com' \\\n  mailbox='INBOX.user@example_com' \\\n  query='savedbefore 52w'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mailboxes/expunge_mailbox_messages?account=_mainaccount%40example.com&mailbox=INBOX.user%40example_com&query=savedbefore%2052w"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mailboxes_expunge_mailbox_messages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mailboxes_expunge_mailbox_messages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mailboxes/,\n    q/expunge_mailbox_messages/,\n    {\n        'account' => '_mainaccount@example.com',\n        'mailbox' => 'INBOX.user@example_com',\n        'query' => 'savedbefore 52w',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mailboxes_expunge_mailbox_messages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mailboxes_expunge_mailbox_messages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mailboxes',\n    'expunge_mailbox_messages',\n    array (\n        'account' => '_mainaccount@example.com',\n        'mailbox' => 'INBOX.user@example_com',\n        'query' => 'savedbefore 52w',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 64"
      }
    },
    "/Mailboxes/expunge_messages_for_mailbox_guid": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function marks the selected mailbox's messages as deleted.",
        "operationId": "Mailboxes-expunge_messages_for_mailbox_guid",
        "parameters": [
          {
            "description": "The email account's name.",
            "examples": {
              "_mainaccount": {
                "summary": "The `_mainaccount` alias, which represents the cPanel user's mailbox.",
                "value": "_mainaccount@example.com"
              },
              "cpanel-user": {
                "summary": "The cPanel user's account name.",
                "value": "example"
              },
              "email": {
                "summary": "A valid email account.",
                "value": "user@example.com"
              }
            },
            "in": "query",
            "name": "account",
            "required": true,
            "schema": {
              "anyOf": [
                {
                  "format": "email",
                  "type": "string"
                },
                {
                  "format": "username",
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "The mailbox's globally unique identifier (GUID).\n\nUse the `Mailboxes::get_mailbox_status_list` function to list possible values for the `mailbox_guid` parameter.",
            "in": "query",
            "name": "mailbox_guid",
            "required": true,
            "schema": {
              "example": "2550860f0c58d158c92a000044f0d230",
              "type": "string"
            }
          },
          {
            "description": "The query to select which messages you wish to remove from the mailbox.",
            "in": "query",
            "name": "query",
            "required": true,
            "schema": {
              "example": "savedbefore 52w",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "expunge_messages_for_mailbox_guid",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mailboxes",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {},
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete selected messages in mailbox by GUID",
        "tags": [
          "Mailboxes",
          "Mailbox Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mailboxes \\\n  expunge_messages_for_mailbox_guid \\\n  account='_mainaccount@example.com' \\\n  mailbox_guid='2550860f0c58d158c92a000044f0d230' \\\n  query='savedbefore 52w'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mailboxes/expunge_messages_for_mailbox_guid?account=_mainaccount%40example.com&mailbox_guid=2550860f0c58d158c92a000044f0d230&query=savedbefore%2052w"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mailboxes_expunge_messages_for_mailbox_guid.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mailboxes_expunge_messages_for_mailbox_guid.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mailboxes/,\n    q/expunge_messages_for_mailbox_guid/,\n    {\n        'account' => '_mainaccount@example.com',\n        'mailbox_guid' => '2550860f0c58d158c92a000044f0d230',\n        'query' => 'savedbefore 52w',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mailboxes_expunge_messages_for_mailbox_guid.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mailboxes_expunge_messages_for_mailbox_guid.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mailboxes',\n    'expunge_messages_for_mailbox_guid',\n    array (\n        'account' => '_mainaccount@example.com',\n        'mailbox_guid' => '2550860f0c58d158c92a000044f0d230',\n        'query' => 'savedbefore 52w',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 64"
      }
    },
    "/Mailboxes/get_mailbox_status_list": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the account's mailbox size and globally unique identifier (GUID) by folder.",
        "operationId": "Mailboxes-get_mailbox_status_list",
        "parameters": [
          {
            "description": "The email account for which you you wish to request the status.",
            "in": "query",
            "name": "account",
            "required": true,
            "schema": {
              "example": "user@example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_mailbox_status_list",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mailboxes",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": [
                            {
                              "guid": "1234560f0c58d158c92a000044f0d230",
                              "mailbox": "INBOX.marla_singer@example_com",
                              "messages": 0,
                              "vsize": 0
                            },
                            {
                              "guid": "11234560f0c58d158c92a000044f0d23",
                              "mailbox": "INBOX.angel_face@example_com",
                              "messages": 0,
                              "vsize": 0
                            },
                            {
                              "guid": "111234560f0c58d158c92a000044f0d2",
                              "mailbox": "INBOX.tyler_durden@example_com",
                              "messages": 0,
                              "vsize": 0
                            },
                            {
                              "guid": "1111234560f0c58d158c92a000044f0d",
                              "mailbox": "INBOX.Trash",
                              "messages": 0,
                              "vsize": 0
                            },
                            {
                              "guid": "11111234560f0c58d158c92a000044f0",
                              "mailbox": "INBOX.narrator@example_com",
                              "messages": 0,
                              "vsize": 0
                            },
                            {
                              "guid": "111111234560f0c58d158c92a000044f",
                              "mailbox": "INBOX",
                              "messages": 0,
                              "vsize": 0
                            },
                            {
                              "guid": "1111111234560f0c58d158c92a000004",
                              "mailbox": "INBOX.Sent",
                              "messages": 0,
                              "vsize": 0
                            },
                            {
                              "guid": "11111111234560f0c58d158c92a00000",
                              "mailbox": "INBOX.Drafts",
                              "messages": 0,
                              "vsize": 0
                            },
                            {
                              "guid": "111111111234560f0c58d158c92a0000",
                              "mailbox": "INBOX.robert_paulsen@example_com",
                              "messages": 0,
                              "vsize": 0
                            }
                          ],
                          "items": {
                            "properties": {
                              "guid": {
                                "description": "The mailbox GUID.",
                                "example": "1234560f0c58d158c92a000044f0d230",
                                "type": "string"
                              },
                              "mailbox": {
                                "description": "The mailbox name.",
                                "example": "INBOX.marla_singer@example_com",
                                "type": "string"
                              },
                              "messages": {
                                "description": "The number of messages in the folder.",
                                "example": 410,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "vsize": {
                                "description": "The size of the folder, in bytes.",
                                "example": 1052299,
                                "format": "bytes",
                                "minimum": 0,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel account's mailbox status",
        "tags": [
          "Mailboxes",
          "Mailbox Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mailboxes \\\n  get_mailbox_status_list \\\n  account='user@example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mailboxes/get_mailbox_status_list?account=user%40example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mailboxes_get_mailbox_status_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mailboxes_get_mailbox_status_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mailboxes/,\n    q/get_mailbox_status_list/,\n    {\n        'account' => 'user@example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mailboxes_get_mailbox_status_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mailboxes_get_mailbox_status_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mailboxes',\n    'get_mailbox_status_list',\n    array (\n        'account' => 'user@example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 64"
      }
    },
    "/Mailboxes/has_utf8_mailbox_names": {
      "get": {
        "x-readonly": true,
        "description": "This function determines whether a cPanel user currently uses UTF-8 character-encoded mailbox names.",
        "operationId": "Mailboxes-has_utf8_mailbox_names",
        "parameters": [
          {
            "description": "The user for whom to determine whether they currently use UTF-8\ncharacter-encoded mailbox names.\n\n**Note:**\n\nThis parameter defaults to the currently-logged in user.",
            "in": "query",
            "name": "user",
            "required": false,
            "schema": {
              "example": "user",
              "format": "username",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "has_utf8_mailbox_names",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mailboxes",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "enabled": {
                              "description": "Whether the user currently uses UTF-8 character-encoded mailbox names.\n* `1` - Uses UTF-8 character-encoded mailbox names.\n* `0` - Does **not** use UTF-8 character-encoded mailbox names.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return if cPanel account's mailboxes use UTF-8",
        "tags": [
          "Mailboxes",
          "Mailbox Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mailboxes \\\n  has_utf8_mailbox_names\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mailboxes/has_utf8_mailbox_names"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mailboxes_has_utf8_mailbox_names.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mailboxes_has_utf8_mailbox_names.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mailboxes/,\n    q/has_utf8_mailbox_names/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mailboxes_has_utf8_mailbox_names.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mailboxes_has_utf8_mailbox_names.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mailboxes',\n    'has_utf8_mailbox_names'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/Mailboxes/set_utf8_mailbox_names": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables or disables UTF-8-encoded mailbox names on Roundcube webmail for a cPanel user's email accounts.",
        "operationId": "Mailboxes-set_utf8_mailbox_names",
        "parameters": [
          {
            "description": "Whether to enable or disable UTF-8 character-encoded mailbox\nnames.\n\n* `1` - Enable UTF-8 encoded mailbox names.\n* `0` - Disable UTF-8 encoded mailbox names.",
            "in": "query",
            "name": "enabled",
            "required": true,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_utf8_mailbox_names",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mailboxes",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "success": {
                              "description": "Whether the system changed mailbox name setting's status.\n* `1` - Success.\n* `0` - Failure.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable or disable Webmail mailbox UTF-8 encoding",
        "tags": [
          "Mailboxes",
          "Mailbox Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mailboxes \\\n  set_utf8_mailbox_names \\\n  enabled='1'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mailboxes/set_utf8_mailbox_names?enabled=1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mailboxes_set_utf8_mailbox_names.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mailboxes_set_utf8_mailbox_names.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mailboxes/,\n    q/set_utf8_mailbox_names/,\n    {\n        'enabled' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mailboxes_set_utf8_mailbox_names.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mailboxes_set_utf8_mailbox_names.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mailboxes',\n    'set_utf8_mailbox_names',\n    array (\n        'enabled' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 78"
      }
    },
    "/Market/cancel_pending_ssl_certificate": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function cancels an order and removes the polling for a pending certificate.",
        "operationId": "Market-cancel_pending_ssl_certificate",
        "parameters": [
          {
            "description": "The ID of the ordered item to cancel.",
            "in": "query",
            "name": "order_item_id",
            "required": true,
            "schema": {
              "example": "10427508",
              "type": "string"
            }
          },
          {
            "description": "The cPanel Market provider's name.",
            "in": "query",
            "name": "provider",
            "required": true,
            "schema": {
              "example": "cPStore",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "cancel_pending_ssl_certificate",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object containing order information.",
                          "items": {
                            "properties": {
                              "created_time": {
                                "description": "When the system created the order.",
                                "example": 1458061262,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "csr": {
                                "description": "The text of the Certificate Request (CSR).",
                                "example": "-----BEGIN CERTIFICATE REQUEST-----\nMIIC0TCCAbkCAQAwGzEZMBcGA1UEAxMQY29icmFzc2x0ZXN0Lm9yZzCCASIwDQYJ\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKsZWNkF8hjUjoCDNNSkXO0CTp/z/0pu\niFiDMzdFAa6mg5wr97EwRBCniSvJEJ1rdQ0Sus2AAK9hg7TeZAWbFf97r7mS0chm\nr27Ht9qfit3r0EJLYcjRjnZ/wj21ZhsdjQIjjTRiI1TvXtOQRAQpWNsGxK7QV3Q3\nnjkSM/gTpteHuC3JAQxbpv72B+IjiyzUZr8DOUOoB94IO5iP27UXnkSbExInDvqu\nK43zVGYNU0Zev20A6SBWU3BALjWXHlYjwbC109FxOWNssHTg3xvePsBxzk6BFDcT\nS/QAS0tFYPfHZKmCBg6irBGFOdTjSDVmFk8zAoFYibev0juRJCMn2XsCAwEAAaBx\nMG8GCSqGSIb3DQEJDjFiMGAwXgYDVR0RAQH/BFQwUoIQY29icmFzc2x0ZXN0Lm9y\nZ4IUd3d3LmNvYnJhc3NsdGVzdC5vcmeCEWNwYW5lbHNzbHRlc3Qub3JnghV3d3cu\nY3BhbmVsc3NsdGVzdC5vcmcwDQYJKoZIhvcNAQELBQADggEBAG0l4aChMO1rSmgR\nSF5qlKu785n5YS5rTE9ev+OFu0952DvjVAB0R8y5+TZSXfg+9CH7pa2VDosAEYF4\nyjUJOuiwwVEUD/9Qhrls/2xT8KKk0QSxuWmOgP2YQy/QRH+W7ykoigtiWdXEIUuF\niJmeavS8JOYt560366V3dw7YT+QstUHQ7UlGEFDeWQI3osUN1wDrtW5qcaq09Q/G\nTcphzXrRkL5lRjKXKLIcY/HVYzOnoEX30ALX2I3bJ9s4IMRfpnhTqLmWalcr+4vq\nvqVnlB0B/nXf/qaB/xvxmEtSGx/GZ/8Gsrf5PB7GhRuStUtJoXcLuADK0bgug3X2\nGxEruS4=\n-----END CERTIFICATE REQUEST-----\n",
                                "format": "base64 certificate",
                                "type": "string"
                              },
                              "domains": {
                                "description": "A list of domains on the certificate.",
                                "example": [
                                  "example1.com",
                                  "example2.com"
                                ],
                                "items": {
                                  "format": "domain",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "expired": {
                                "description": "Whether the system has deleted the item from the pending queue.\n* `1` - Deleted.\n* `0` - **Not** deleted.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "first_poll_time": {
                                "description": "The first time that the system polled the provider for the certificate.",
                                "example": 1458061262,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "last_poll_time": {
                                "description": "The last time that the system polled the\nprovider for the certificate. ",
                                "example": 1458061262,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "last_status_code": {
                                "description": "The last status code of the order.\n* `CertificateNotFound` - The system cannot locate the specified certificate.\n* `RequiresApproval` - The specified certificate requires approval.\n* `OrderCanceled` - The system cancelled the order of the specified certificate.\n* `OrderItemCanceled` - The system cancelled the order item of the specified certificate.",
                                "enum": [
                                  "CertificateNotFound",
                                  "RequiresApproval",
                                  "OrderCanceled",
                                  "OrderItemCanceled"
                                ],
                                "example": "CertificateNotFound",
                                "type": "string"
                              },
                              "order_id": {
                                "description": "The ID of the order.",
                                "example": "1392472",
                                "type": "string"
                              },
                              "order_item_id": {
                                "description": "The ID of the ordered item.",
                                "example": "10427508",
                                "type": "string"
                              },
                              "product_id": {
                                "description": "The product's ID.",
                                "example": "143",
                                "type": "string"
                              },
                              "provider": {
                                "description": "The cPanel Market provider's name.",
                                "example": "cPStore",
                                "type": "string"
                              },
                              "status": {
                                "description": "The status of the order.\n* `confirmed` - Payment confirmed.\n* `unconfirmed` - Payment **not** confirmed.",
                                "enum": [
                                  "confirmed",
                                  "unconfirmed"
                                ],
                                "example": "confirmed",
                                "type": "string"
                              },
                              "support_uri": {
                                "description": "The URI of the cPanel Market Provider's support site.",
                                "example": "http://support.example.com/",
                                "format": "uri",
                                "type": "string"
                              },
                              "vhost_names": {
                                "description": "A list of virtual host names.",
                                "example": [
                                  "abcde.com"
                                ],
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings\ndescribe non-critical failures or other problematic conditions\nnoted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete an order",
        "tags": [
          "Market",
          "SSL Certificates"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  cancel_pending_ssl_certificate \\\n  provider='cPStore' \\\n  order_item_id='10427508'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/cancel_pending_ssl_certificate?provider=cPStore&order_item_id=10427508"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_cancel_pending_ssl_certificate.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_cancel_pending_ssl_certificate.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/cancel_pending_ssl_certificate/,\n    {\n        'provider' => 'cPStore',\n        'order_item_id' => '10427508',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_cancel_pending_ssl_certificate.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_cancel_pending_ssl_certificate.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'cancel_pending_ssl_certificate',\n    array (\n        'provider' => 'cPStore',\n        'order_item_id' => '10427508',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/Market/create_shopping_cart": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a shopping cart with which the system sends an order to the cPanel Store. Typically, the system will send shopping cart orders for SSL certificates to UAPI’s `Market::request_ssl_certificates` function.",
        "operationId": "Market-create_shopping_cart",
        "parameters": [
          {
            "description": "The access token to connect to the provider.",
            "in": "query",
            "name": "access_token",
            "required": true,
            "schema": {
              "example": "1a676e6f-99fc-11e6-9ab6-e60a769b73bc",
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "The items to add to the shopping cart.\n\n**Note**:\n\n  The value is a JSON string.\n\n  This object has one required key, `product_id`, which is a string.\n\n  The other keys/values in this object vary depending on the provider.",
            "example": [
              "{\"product_id\":123456,\"provider-specfic-key\":\"provider-specfic-value\",\"another-provider-specfic-key\":\"another-provider-specfic-value\"}",
              "{\"product_id\":123457,\"provider-specfic-key\":\"provider-specfic-value\",\"another-provider-specfic-key\":\"another-provider-specfic-value\"}"
            ],
            "explode": true,
            "in": "query",
            "name": "item",
            "required": true,
            "schema": {
              "items": {
                "format": "json",
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The cPanel Market provider’s name.",
            "in": "query",
            "name": "provider",
            "required": true,
            "schema": {
              "example": "cPStore",
              "type": "string"
            }
          },
          {
            "description": "The location to which the provider directs the user after the checkout process is complete.",
            "in": "query",
            "name": "url_after_checkout",
            "required": true,
            "schema": {
              "example": "http://www.example.com/thenextplace",
              "format": "url",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "create_shopping_cart",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "checkout_url": {
                              "description": "The location of the provider’s check out page.",
                              "example": "http://www.example.com/checkout",
                              "format": "url",
                              "type": "string"
                            },
                            "order_id": {
                              "description": "The order’s ID.",
                              "example": "8765309",
                              "type": "string"
                            },
                            "order_items": {
                              "description": "An array of objects that contain information about Items in the shopping cart. The function returns these values in the order in which you called them. This array of objects returns values that vary between providers.",
                              "items": {
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create shopping cart",
        "tags": [
          "Market",
          "Market Integration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  create_shopping_cart \\\n  provider='cPStore' \\\n  access_token='1a676e6f-99fc-11e6-9ab6-e60a769b73bc' \\\n  url_after_checkout='http://www.example.com/thenextplace' \\\n  item='{\"product_id\":123456,\"provider-specfic-key\":\"provider-specfic-value\",\"another-provider-specfic-key\":\"another-provider-specfic-value\"}' item='{\"product_id\":123457,\"provider-specfic-key\":\"provider-specfic-value\",\"another-provider-specfic-key\":\"another-provider-specfic-value\"}'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/create_shopping_cart?provider=cPStore&access_token=1a676e6f-99fc-11e6-9ab6-e60a769b73bc&url_after_checkout=http%3a%2f%2fwww.example.com%2fthenextplace&item=%7b%22product_id%22%3a123456%2c%22provider-specfic-key%22%3a%22provider-specfic-value%22%2c%22another-provider-specfic-key%22%3a%22another-provider-specfic-value%22%7d&item=%7b%22product_id%22%3a123457%2c%22provider-specfic-key%22%3a%22provider-specfic-value%22%2c%22another-provider-specfic-key%22%3a%22another-provider-specfic-value%22%7d"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_create_shopping_cart.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_create_shopping_cart.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/create_shopping_cart/,\n    {\n        'provider' => 'cPStore',\n        'access_token' => '1a676e6f-99fc-11e6-9ab6-e60a769b73bc',\n        'url_after_checkout' => 'http://www.example.com/thenextplace',\n        'item' => '{\"product_id\":123456,\"provider-specfic-key\":\"provider-specfic-value\",\"another-provider-specfic-key\":\"another-provider-specfic-value\"}'&item='{\"product_id\":123457,\"provider-specfic-key\":\"provider-specfic-value\",\"another-provider-specfic-key\":\"another-provider-specfic-value\"}',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_create_shopping_cart.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_create_shopping_cart.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'create_shopping_cart',\n    array (\n        'provider' => 'cPStore',\n        'access_token' => '1a676e6f-99fc-11e6-9ab6-e60a769b73bc',\n        'url_after_checkout' => 'http://www.example.com/thenextplace',\n        'item' => '{\"product_id\":123456,\"provider-specfic-key\":\"provider-specfic-value\",\"another-provider-specfic-key\":\"another-provider-specfic-value\"}'&item='{\"product_id\":123457,\"provider-specfic-key\":\"provider-specfic-value\",\"another-provider-specfic-key\":\"another-provider-specfic-value\"}',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 62"
      }
    },
    "/Market/create_shopping_cart_non_ssl": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a shopping cart for non-SSL products. It validates the access token, retrieves product information, creates a shopping cart with the provider, and returns the order details and checkout URL.",
        "operationId": "Market-create_shopping_cart_non_ssl",
        "parameters": [
          {
            "description": "The access token obtained during login to the cPanel Market provider.",
            "in": "query",
            "name": "access_token",
            "required": true,
            "schema": {
              "example": "1a676e6f-99fc-11e6-9ab6-e60a769b73bc",
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "The name of the product to purchase.",
            "in": "query",
            "name": "product_name",
            "required": true,
            "schema": {
              "example": "cpanel-ssl",
              "type": "string"
            }
          },
          {
            "description": "The URL to which the provider redirects the user after the checkout process is complete.",
            "in": "query",
            "name": "url_after_checkout",
            "required": true,
            "schema": {
              "example": "http://www.example.com/thenextplace",
              "format": "url",
              "type": "string"
            }
          },
          {
            "description": "The domain associated with the product purchase. This parameter is optional.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "create_shopping_cart_non_ssl",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "checkout_url": {
                              "description": "The URL of the provider's checkout page.",
                              "example": "https://store.cpanel.net/checkout?order_id=8765309",
                              "format": "url",
                              "type": "string"
                            },
                            "order_id": {
                              "description": "The order ID assigned by the provider.",
                              "example": "8765309",
                              "type": "string"
                            },
                            "order_items_ref": {
                              "description": "An array of objects that contain information about the items in the shopping cart. The values returned vary between providers.",
                              "items": {
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create shopping cart for non-SSL products",
        "tags": [
          "Market",
          "Market Integration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  create_shopping_cart_non_ssl \\\n  access_token='1a676e6f-99fc-11e6-9ab6-e60a769b73bc' \\\n  product_name='cpanel-ssl' \\\n  url_after_checkout='http://www.example.com/thenextplace'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/create_shopping_cart_non_ssl?access_token=1a676e6f-99fc-11e6-9ab6-e60a769b73bc&product_name=cpanel-ssl&url_after_checkout=http%3a%2f%2fwww.example.com%2fthenextplace"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_create_shopping_cart_non_ssl.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_create_shopping_cart_non_ssl.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/create_shopping_cart_non_ssl/,\n    {\n        'access_token'      => '1a676e6f-99fc-11e6-9ab6-e60a769b73bc',\n        'product_name'      => 'cpanel-ssl',\n        'url_after_checkout' => 'http://www.example.com/thenextplace',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_create_shopping_cart_non_ssl.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_create_shopping_cart_non_ssl.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'create_shopping_cart_non_ssl',\n    array (\n        'access_token'       => '1a676e6f-99fc-11e6-9ab6-e60a769b73bc',\n        'product_name'       => 'cpanel-ssl',\n        'url_after_checkout' => 'http://www.example.com/thenextplace',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 62"
      }
    },
    "/Market/get_all_products": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function lists all products available through all enabled cPanel Market providers.",
        "operationId": "Market-get_all_products",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "ssl_certificate": {
                    "description": "product_group=ssl_certificate",
                    "value": {
                      "apiversion": 3,
                      "func": "get_all_products",
                      "module": "Market",
                      "result": {
                        "data": [
                          {
                            "base_name": "",
                            "billing_type": "one-time",
                            "description": "An extended-validated (EV) SSL certificate signed by COMODO.",
                            "display_name": "Comodo EV SSL Certificate",
                            "enabled": 1,
                            "icon": "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNTUwIiB3aWR0aD0iNDE3LjE2Ij48ZyBmaWxsPSIjMzViNTZjIj48cGF0aCBkPSJNNDE0LjM5NiAyNmM3LTExIDAtMjYtMTMtMjZIMTg3LjM5NWMtNDUgMC04MSAxMi0xMDcgMzZzLTQyIDU4LTQ2IDEwM2wtMTAgMTE2Yy00IDQ1IDUgNzkgMjggMTAzIDIyIDI0IDU2IDM2IDEwMSAzNmg0OXYtMWM5LjAwMS0xIDE1LjAwMS03IDE2LjAwMS0xN2w1LTU3YzAtMTEtNy0xOS0xOC4wMDEtMTloLTI3Yy0xNyAwLTMwLTQtMzctMTItNy03LTEwLTIwLTgtMzlsOS0xMDRjMi0xOCA3LTMxIDE1LTM5czIxLTEyIDM5LTEyaDE0NC4wMDFjMTcgMCAzNC05IDQ0LTIzbDMwLTQ1Ii8+PHBhdGggZD0iTTMuMzk1IDUyNGMtOCAxMS0xIDI2IDEyIDI2aDIxNy4wMDFjNDUgMCA4MS0xMiAxMDgtMzYgMjYtMjQgNDEtNTggNDUtMTAybDExLTExN2MzLTQ1LTYtNzktMjgtMTAzLTIzLTI0LTU2LTM2LTEwMS0zNmgtNDl2MWMtMTAuMDAxIDEtMTUuMDAxIDctMTYuMDAxIDE3bC01IDU4Yy0xIDEwIDcgMTggMTcuMDAxIDE4aDI3YzE4IDAgMzAgNCAzNyAxMnMxMCAyMSA5IDM5bC0xMCAxMDRjLTEgMTktNiAzMi0xNCAzOS05IDgtMjIgMTItNDAgMTJINzYuMzk1Yy0xNyAwLTMzIDktNDMgMjRsLTMwIDQ0Ii8+PC9nPjwvc3ZnPg==",
                            "icon_mime_type": "image/svg+xml",
                            "license_term": 0,
                            "max_users": null,
                            "maximum_server_price": null,
                            "minimum_server_price": null,
                            "price": null,
                            "price_unit": "USD",
                            "product": "Comodo EV Certificate",
                            "product_category": "N/A",
                            "product_group": "ssl_certificate",
                            "product_id": 155,
                            "provider_display_name": "cPanel Store",
                            "provider_name": "cPStore",
                            "recommended": 0,
                            "requires_ip": 0,
                            "x_certificate_term": [
                              1,
                              "year"
                            ],
                            "x_identity_verification": [
                              {
                                "label": "Organization Name",
                                "name": "organizationName"
                              },
                              {
                                "is_optional": 1,
                                "label": "Department Name",
                                "name": "organizationalUnitName"
                              },
                              {
                                "description": "9 consecutive digits or “##-###-####” (More information (https://go.cpanel.net/get_duns))",
                                "is_optional": 1,
                                "label": "Dun & Bradstreet D-U-N-S (Data Universal Numbering System) Number",
                                "name": "duns_number",
                                "pattern": "^[0-9]{2}(?:-[0-9]{3}-[0-9]{4}|[0-9]{7})$"
                              },
                              {
                                "label": "Street Address",
                                "name": "streetAddress"
                              },
                              {
                                "label": "City",
                                "name": "localityName"
                              },
                              {
                                "label": "State or Province",
                                "name": "stateOrProvinceName"
                              },
                              {
                                "label": "Postal Code",
                                "name": "postalCode"
                              },
                              {
                                "label": "Country Code",
                                "name": "countryName",
                                "type": "country_code"
                              },
                              {
                                "label": "Representative’s Given (First) Name",
                                "name": "rep_forename"
                              },
                              {
                                "label": "Representative’s Surname (Last Name)",
                                "name": "rep_surname"
                              },
                              {
                                "label": "Representative’s Email Address",
                                "name": "rep_email_address",
                                "type": "email"
                              },
                              {
                                "description": "This should be one of the organization’s publicly-listed telephone numbers.",
                                "is_optional": 1,
                                "label": "Representative’s Telephone Number",
                                "name": "rep_telephone",
                                "type": "tel"
                              },
                              {
                                "description": "Consult the EV SSL Certificate Guidelines (https://cabforum.org/extended-validation/) for more information about this field’s options.",
                                "label": "Business Category",
                                "name": "business_category",
                                "options": [
                                  [
                                    "b",
                                    "Incorporated Business (“Private Organization”)"
                                  ],
                                  [
                                    "d",
                                    "Non-incorporated Business (“Business Entity”)"
                                  ],
                                  [
                                    "c",
                                    "Government Entity (“Government Entity”)"
                                  ]
                                ],
                                "type": "choose_one"
                              },
                              {
                                "is_optional": 1,
                                "label": "City Where Incorporated (JOI (Jurisdiction of Incorporation))",
                                "name": "joi_locality_name"
                              },
                              {
                                "is_optional": 1,
                                "label": "State or Province Where Incorporated (JOI (Jurisdiction of Incorporation))",
                                "name": "joi_state_or_province_name"
                              },
                              {
                                "label": "Country Code Where Incorporated (JOI (Jurisdiction of Incorporation))",
                                "name": "joi_country_name",
                                "type": "country_code"
                              },
                              {
                                "is_optional": 1,
                                "label": "Date of Incorporation",
                                "name": "date_of_incorporation",
                                "type": "date"
                              },
                              {
                                "is_optional": 1,
                                "label": "Assumed Name (DBA (Doing Business As))",
                                "name": "assumed_name"
                              }
                            ],
                            "x_max_http_redirects": 0,
                            "x_payment_trigger": "checkout",
                            "x_price_per_domain": 108,
                            "x_price_per_domain_maximum": 1080,
                            "x_price_per_domain_minimum": 108,
                            "x_ssl_per_domain_pricing": 1,
                            "x_supports_dns_dcv": 1,
                            "x_validation_type": "ev",
                            "x_warn_after": 604800
                          },
                          {
                            "base_name": "",
                            "billing_type": "one-time",
                            "description": "An organization-validated (OV) SSL certificate signed by COMODO.",
                            "display_name": "Comodo OV SSL Certificate",
                            "enabled": 1,
                            "icon": "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNTUwIiB3aWR0aD0iNDE3LjE2Ij48ZyBmaWxsPSIjMzViNTZjIj48cGF0aCBkPSJNNDE0LjM5NiAyNmM3LTExIDAtMjYtMTMtMjZIMTg3LjM5NWMtNDUgMC04MSAxMi0xMDcgMzZzLTQyIDU4LTQ2IDEwM2wtMTAgMTE2Yy00IDQ1IDUgNzkgMjggMTAzIDIyIDI0IDU2IDM2IDEwMSAzNmg0OXYtMWM5LjAwMS0xIDE1LjAwMS03IDE2LjAwMS0xN2w1LTU3YzAtMTEtNy0xOS0xOC4wMDEtMTloLTI3Yy0xNyAwLTMwLTQtMzctMTItNy03LTEwLTIwLTgtMzlsOS0xMDRjMi0xOCA3LTMxIDE1LTM5czIxLTEyIDM5LTEyaDE0NC4wMDFjMTcgMCAzNC05IDQ0LTIzbDMwLTQ1Ii8+PHBhdGggZD0iTTMuMzk1IDUyNGMtOCAxMS0xIDI2IDEyIDI2aDIxNy4wMDFjNDUgMCA4MS0xMiAxMDgtMzYgMjYtMjQgNDEtNTggNDUtMTAybDExLTExN2MzLTQ1LTYtNzktMjgtMTAzLTIzLTI0LTU2LTM2LTEwMS0zNmgtNDl2MWMtMTAuMDAxIDEtMTUuMDAxIDctMTYuMDAxIDE3bC01IDU4Yy0xIDEwIDcgMTggMTcuMDAxIDE4aDI3YzE4IDAgMzAgNCAzNyAxMnMxMCAyMSA5IDM5bC0xMCAxMDRjLTEgMTktNiAzMi0xNCAzOS05IDgtMjIgMTItNDAgMTJINzYuMzk1Yy0xNyAwLTMzIDktNDMgMjRsLTMwIDQ0Ii8+PC9nPjwvc3ZnPg==",
                            "icon_mime_type": "image/svg+xml",
                            "license_term": 0,
                            "max_users": null,
                            "maximum_server_price": null,
                            "minimum_server_price": null,
                            "price": null,
                            "price_unit": "USD",
                            "product": "Comodo OV Certificate",
                            "product_category": "N/A",
                            "product_group": "ssl_certificate",
                            "product_id": 217,
                            "provider_display_name": "cPanel Store",
                            "provider_name": "cPStore",
                            "recommended": 0,
                            "requires_ip": 0,
                            "x_certificate_term": [
                              1,
                              "year"
                            ],
                            "x_identity_verification": [
                              {
                                "label": "Organization Name",
                                "name": "organizationName"
                              },
                              {
                                "is_optional": 1,
                                "label": "Department Name",
                                "name": "organizationalUnitName"
                              },
                              {
                                "description": "9 consecutive digits or “##-###-####” (More information (https://go.cpanel.net/get_duns))",
                                "is_optional": 1,
                                "label": "Dun & Bradstreet D-U-N-S (Data Universal Numbering System) Number",
                                "name": "duns_number",
                                "pattern": "^[0-9]{2}(?:-[0-9]{3}-[0-9]{4}|[0-9]{7})$"
                              },
                              {
                                "label": "Street Address",
                                "name": "streetAddress"
                              },
                              {
                                "label": "City",
                                "name": "localityName"
                              },
                              {
                                "label": "State or Province",
                                "name": "stateOrProvinceName"
                              },
                              {
                                "label": "Postal Code",
                                "name": "postalCode"
                              },
                              {
                                "label": "Country Code",
                                "name": "countryName",
                                "type": "country_code"
                              },
                              {
                                "label": "Representative’s Given (First) Name",
                                "name": "rep_forename"
                              },
                              {
                                "label": "Representative’s Surname (Last Name)",
                                "name": "rep_surname"
                              },
                              {
                                "label": "Representative’s Email Address",
                                "name": "rep_email_address",
                                "type": "email"
                              },
                              {
                                "description": "This should be one of the organization’s publicly-listed telephone numbers.",
                                "is_optional": 1,
                                "label": "Representative’s Telephone Number",
                                "name": "rep_telephone",
                                "type": "tel"
                              }
                            ],
                            "x_max_http_redirects": 0,
                            "x_payment_trigger": "checkout",
                            "x_price_per_domain": 36,
                            "x_price_per_domain_maximum": 360,
                            "x_price_per_domain_minimum": 36,
                            "x_price_per_wildcard_domain": "150.00",
                            "x_price_per_wildcard_domain_maximum": "1500.00",
                            "x_price_per_wildcard_domain_minimum": "150.00",
                            "x_ssl_per_domain_pricing": 1,
                            "x_supports_dns_dcv": 1,
                            "x_validation_type": "ov",
                            "x_warn_after": 604800,
                            "x_wildcard_parent_domain_free": 1
                          },
                          {
                            "base_name": "",
                            "billing_type": "one-time",
                            "description": "A domain-validated (DV) SSL certificate signed by cPanel.",
                            "display_name": "cPanel DV SSL Certificate",
                            "enabled": 1,
                            "icon": "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNTlwdCIgaGVpZ2h0PSIzMjAiIHZpZXdCb3g9IjAgMCAzNTkgMjQwIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Ik0xMjMgMGgyMzUuMzd2MjQwSDEyM3ptMCAwIi8+PC9jbGlwUGF0aD48L2RlZnM+PHBhdGggZD0iTTg5LjY5IDU5LjEwMmg2Ny44MDJsLTEwLjUgNDAuMmMtMS42MDUgNS42LTQuNjA1IDEwLjEtOSAxMy41LTQuNDAyIDMuNC05LjUwNCA1LjA5Ni0xNS4zIDUuMDk2aC0zMS41Yy03LjIgMC0xMy41NSAyLjEwMi0xOS4wNSA2LjMtNS41MDUgNC4yLTkuMzUzIDkuOTA0LTExLjU1MiAxNy4xMDMtMS40IDUuNDAzLTEuNTUgMTAuNS0uNDUgMTUuMzAyIDEuMDk4IDQuNzk2IDMuMDQ3IDkuMDUgNS44NTIgMTIuNzUgMi43OTcgMy43MDMgNi40IDYuNjUyIDEwLjc5NyA4Ljg1IDQuMzk3IDIuMiA5LjE5OCAzLjI5OCAxNC40IDMuMjk4aDE5LjJjMy42MDIgMCA2LjU0NyAxLjQ1MyA4Ljg1MiA0LjM1MiAyLjI5NyAyLjkwMiAyLjk0NSA2LjE0OCAxLjk1IDkuNzVsLTEyIDQ0LjM5OGgtMjFjLTE0LjQwMyAwLTI3LjY1My0zLjE0OC0zOS43NS05LjQ1LTEyLjEwMi02LjMtMjIuMTUzLTE0LjY0OC0zMC4xNTMtMjUuMDUtOC0xMC4zOTUtMTMuNDU0LTIyLjI0Ni0xNi4zNS0zNS41NDctMi45LTEzLjMtMi41NS0yNi45NSAxLjA1Mi00MC45NTNsMS4yLTQuNWMyLjU5Ny05LjYwMiA2LjY0OC0xOC40NSAxMi4xNDgtMjYuNTUgNS41LTguMDk4IDEyLTE1IDE5LjUtMjAuNyA3LjUtNS43IDE1Ljg1LTEwLjE0OCAyNS4wNS0xMy4zNTIgOS4yLTMuMTk1IDE4Ljc5Ny00Ljc5NiAyOC44LTQuNzk2IiBmaWxsPSIjZmY2YzJjIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTIzLjg5IDI0MEwxODIuOTkgMTguNjAyYzEuNTk4LTUuNTk4IDQuNTk4LTEwLjA5OCA5LTEzLjVDMTk2LjM4OCAxLjcgMjAxLjQ4NCAwIDIwNy4yODggMGg2Mi43YzE0LjQwMyAwIDI3LjY1IDMuMTQ4IDM5Ljc1IDkuNDUgMTIuMTAyIDYuMyAyMi4xNTMgMTQuNjU1IDMwLjE1MyAyNS4wNSA3Ljk5NyAxMC40MDIgMTMuNSAyMi4yNTQgMTYuNSAzNS41NSAzIDEzLjMwNSAyLjU5NCAyNi45NTQtMS4yMDIgNDAuOTVsLTEuMiA0LjVjLTIuNTk3IDkuNjAyLTYuNTk3IDE4LjQ1LTEyIDI2LjU1LTUuMzk4IDguMDk4LTExLjg0NyAxNS4wNTItMTkuMzQ3IDIwLjg0OC03LjUgNS44MDUtMTUuODU1IDEwLjMwNS0yNS4wNSAxMy41LTkuMiAzLjIwNC0xOC44MDUgNC44MDUtMjguODA1IDQuODA1aC01NC4yOTdsMTAuOC00MC41YzEuNi01LjQwMiA0LjYtOS44IDktMTMuMjAzIDQuMzk2LTMuMzk4IDkuNDk3LTUuMTAyIDE1LjMwMi01LjEwMmgxNy4zOThjNy4yIDAgMTMuNjUzLTIuMiAxOS4zNTItNi41OTcgNS42OTUtNC4zOTggOS40NDUtMTAuMDk3IDExLjI1LTE3LjEgMS4zOTQtNC45OTcgMS41NDctOS45LjQ0NS0xNC43LTEuMS00LjgtMy4wNS05LjA0Ny01Ljg0OC0xMi43NS0yLjgtMy42OTUtNi40MDItNi42OTUtMTAuNzk2LTktNC40MDYtMi4yOTctOS4yMDYtMy40NS0xNC40MDItMy40NUgyMzMuMzlsLTQzLjggMTYyLjkwM2MtMS42MDYgNS40LTQuNjA2IDkuNzk3LTkgMTMuMTk1LTQuNDAzIDMuNDA3LTkuNDA2IDUuMTAyLTE1IDUuMTAyaC00MS43IiBmaWxsPSIjZmY2YzJjIi8+PC9nPjwvc3ZnPgo=",
                            "icon_mime_type": "image/svg+xml",
                            "license_term": 0,
                            "max_users": null,
                            "maximum_server_price": null,
                            "minimum_server_price": null,
                            "price": null,
                            "price_unit": "USD",
                            "product": "cPanel DV Certificate",
                            "product_category": "N/A",
                            "product_group": "ssl_certificate",
                            "product_id": 159,
                            "provider_display_name": "cPanel Store",
                            "provider_name": "cPStore",
                            "recommended": 0,
                            "requires_ip": 0,
                            "x_certificate_term": [
                              1,
                              "year"
                            ],
                            "x_identity_verification": null,
                            "x_max_http_redirects": 0,
                            "x_payment_trigger": "issuance",
                            "x_price_per_domain": 9,
                            "x_price_per_domain_maximum": 30,
                            "x_price_per_domain_minimum": 3,
                            "x_price_per_wildcard_domain": "75.00",
                            "x_price_per_wildcard_domain_maximum": "750.00",
                            "x_price_per_wildcard_domain_minimum": "75.00",
                            "x_ssl_per_domain_pricing": 1,
                            "x_supports_dns_dcv": 1,
                            "x_validation_type": "dv",
                            "x_warn_after": 604800,
                            "x_wildcard_parent_domain_free": 1
                          },
                          {
                            "base_name": "",
                            "billing_type": "one-time",
                            "description": "An organization-validated (OV) SSL certificate signed by cPanel.",
                            "display_name": "cPanel OV SSL Certificate",
                            "enabled": 1,
                            "icon": "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNTlwdCIgaGVpZ2h0PSIzMjAiIHZpZXdCb3g9IjAgMCAzNTkgMjQwIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Ik0xMjMgMGgyMzUuMzd2MjQwSDEyM3ptMCAwIi8+PC9jbGlwUGF0aD48L2RlZnM+PHBhdGggZD0iTTg5LjY5IDU5LjEwMmg2Ny44MDJsLTEwLjUgNDAuMmMtMS42MDUgNS42LTQuNjA1IDEwLjEtOSAxMy41LTQuNDAyIDMuNC05LjUwNCA1LjA5Ni0xNS4zIDUuMDk2aC0zMS41Yy03LjIgMC0xMy41NSAyLjEwMi0xOS4wNSA2LjMtNS41MDUgNC4yLTkuMzUzIDkuOTA0LTExLjU1MiAxNy4xMDMtMS40IDUuNDAzLTEuNTUgMTAuNS0uNDUgMTUuMzAyIDEuMDk4IDQuNzk2IDMuMDQ3IDkuMDUgNS44NTIgMTIuNzUgMi43OTcgMy43MDMgNi40IDYuNjUyIDEwLjc5NyA4Ljg1IDQuMzk3IDIuMiA5LjE5OCAzLjI5OCAxNC40IDMuMjk4aDE5LjJjMy42MDIgMCA2LjU0NyAxLjQ1MyA4Ljg1MiA0LjM1MiAyLjI5NyAyLjkwMiAyLjk0NSA2LjE0OCAxLjk1IDkuNzVsLTEyIDQ0LjM5OGgtMjFjLTE0LjQwMyAwLTI3LjY1My0zLjE0OC0zOS43NS05LjQ1LTEyLjEwMi02LjMtMjIuMTUzLTE0LjY0OC0zMC4xNTMtMjUuMDUtOC0xMC4zOTUtMTMuNDU0LTIyLjI0Ni0xNi4zNS0zNS41NDctMi45LTEzLjMtMi41NS0yNi45NSAxLjA1Mi00MC45NTNsMS4yLTQuNWMyLjU5Ny05LjYwMiA2LjY0OC0xOC40NSAxMi4xNDgtMjYuNTUgNS41LTguMDk4IDEyLTE1IDE5LjUtMjAuNyA3LjUtNS43IDE1Ljg1LTEwLjE0OCAyNS4wNS0xMy4zNTIgOS4yLTMuMTk1IDE4Ljc5Ny00Ljc5NiAyOC44LTQuNzk2IiBmaWxsPSIjZmY2YzJjIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTIzLjg5IDI0MEwxODIuOTkgMTguNjAyYzEuNTk4LTUuNTk4IDQuNTk4LTEwLjA5OCA5LTEzLjVDMTk2LjM4OCAxLjcgMjAxLjQ4NCAwIDIwNy4yODggMGg2Mi43YzE0LjQwMyAwIDI3LjY1IDMuMTQ4IDM5Ljc1IDkuNDUgMTIuMTAyIDYuMyAyMi4xNTMgMTQuNjU1IDMwLjE1MyAyNS4wNSA3Ljk5NyAxMC40MDIgMTMuNSAyMi4yNTQgMTYuNSAzNS41NSAzIDEzLjMwNSAyLjU5NCAyNi45NTQtMS4yMDIgNDAuOTVsLTEuMiA0LjVjLTIuNTk3IDkuNjAyLTYuNTk3IDE4LjQ1LTEyIDI2LjU1LTUuMzk4IDguMDk4LTExLjg0NyAxNS4wNTItMTkuMzQ3IDIwLjg0OC03LjUgNS44MDUtMTUuODU1IDEwLjMwNS0yNS4wNSAxMy41LTkuMiAzLjIwNC0xOC44MDUgNC44MDUtMjguODA1IDQuODA1aC01NC4yOTdsMTAuOC00MC41YzEuNi01LjQwMiA0LjYtOS44IDktMTMuMjAzIDQuMzk2LTMuMzk4IDkuNDk3LTUuMTAyIDE1LjMwMi01LjEwMmgxNy4zOThjNy4yIDAgMTMuNjUzLTIuMiAxOS4zNTItNi41OTcgNS42OTUtNC4zOTggOS40NDUtMTAuMDk3IDExLjI1LTE3LjEgMS4zOTQtNC45OTcgMS41NDctOS45LjQ0NS0xNC43LTEuMS00LjgtMy4wNS05LjA0Ny01Ljg0OC0xMi43NS0yLjgtMy42OTUtNi40MDItNi42OTUtMTAuNzk2LTktNC40MDYtMi4yOTctOS4yMDYtMy40NS0xNC40MDItMy40NUgyMzMuMzlsLTQzLjggMTYyLjkwM2MtMS42MDYgNS40LTQuNjA2IDkuNzk3LTkgMTMuMTk1LTQuNDAzIDMuNDA3LTkuNDA2IDUuMTAyLTE1IDUuMTAyaC00MS43IiBmaWxsPSIjZmY2YzJjIi8+PC9nPjwvc3ZnPgo=",
                            "icon_mime_type": "image/svg+xml",
                            "license_term": 0,
                            "max_users": null,
                            "maximum_server_price": null,
                            "minimum_server_price": null,
                            "price": null,
                            "price_unit": "USD",
                            "product": "cPanel OV Certificate",
                            "product_category": "N/A",
                            "product_group": "ssl_certificate",
                            "product_id": 213,
                            "provider_display_name": "cPanel Store",
                            "provider_name": "cPStore",
                            "recommended": 0,
                            "requires_ip": 0,
                            "x_certificate_term": [
                              1,
                              "year"
                            ],
                            "x_identity_verification": [
                              {
                                "label": "Organization Name",
                                "name": "organizationName"
                              },
                              {
                                "is_optional": 1,
                                "label": "Department Name",
                                "name": "organizationalUnitName"
                              },
                              {
                                "description": "9 consecutive digits or “##-###-####” (More information (https://go.cpanel.net/get_duns))",
                                "is_optional": 1,
                                "label": "Dun & Bradstreet D-U-N-S (Data Universal Numbering System) Number",
                                "name": "duns_number",
                                "pattern": "^[0-9]{2}(?:-[0-9]{3}-[0-9]{4}|[0-9]{7})$"
                              },
                              {
                                "label": "Street Address",
                                "name": "streetAddress"
                              },
                              {
                                "label": "City",
                                "name": "localityName"
                              },
                              {
                                "label": "State or Province",
                                "name": "stateOrProvinceName"
                              },
                              {
                                "label": "Postal Code",
                                "name": "postalCode"
                              },
                              {
                                "label": "Country Code",
                                "name": "countryName",
                                "type": "country_code"
                              },
                              {
                                "label": "Representative’s Given (First) Name",
                                "name": "rep_forename"
                              },
                              {
                                "label": "Representative’s Surname (Last Name)",
                                "name": "rep_surname"
                              },
                              {
                                "label": "Representative’s Email Address",
                                "name": "rep_email_address",
                                "type": "email"
                              },
                              {
                                "description": "This should be one of the organization’s publicly-listed telephone numbers.",
                                "is_optional": 1,
                                "label": "Representative’s Telephone Number",
                                "name": "rep_telephone",
                                "type": "tel"
                              }
                            ],
                            "x_max_http_redirects": 0,
                            "x_payment_trigger": "checkout",
                            "x_price_per_domain": 30,
                            "x_price_per_domain_maximum": 300,
                            "x_price_per_domain_minimum": 30,
                            "x_price_per_wildcard_domain": "99.00",
                            "x_price_per_wildcard_domain_maximum": "990.00",
                            "x_price_per_wildcard_domain_minimum": "99.00",
                            "x_ssl_per_domain_pricing": 1,
                            "x_supports_dns_dcv": 1,
                            "x_validation_type": "ov",
                            "x_warn_after": 604800,
                            "x_wildcard_parent_domain_free": 1
                          },
                          {
                            "base_name": "",
                            "billing_type": "one-time",
                            "description": "A domain-validated (DV) SSL certificate signed by COMODO.",
                            "display_name": "Comodo DV SSL Certificate",
                            "enabled": 1,
                            "icon": "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNTUwIiB3aWR0aD0iNDE3LjE2Ij48ZyBmaWxsPSIjMzViNTZjIj48cGF0aCBkPSJNNDE0LjM5NiAyNmM3LTExIDAtMjYtMTMtMjZIMTg3LjM5NWMtNDUgMC04MSAxMi0xMDcgMzZzLTQyIDU4LTQ2IDEwM2wtMTAgMTE2Yy00IDQ1IDUgNzkgMjggMTAzIDIyIDI0IDU2IDM2IDEwMSAzNmg0OXYtMWM5LjAwMS0xIDE1LjAwMS03IDE2LjAwMS0xN2w1LTU3YzAtMTEtNy0xOS0xOC4wMDEtMTloLTI3Yy0xNyAwLTMwLTQtMzctMTItNy03LTEwLTIwLTgtMzlsOS0xMDRjMi0xOCA3LTMxIDE1LTM5czIxLTEyIDM5LTEyaDE0NC4wMDFjMTcgMCAzNC05IDQ0LTIzbDMwLTQ1Ii8+PHBhdGggZD0iTTMuMzk1IDUyNGMtOCAxMS0xIDI2IDEyIDI2aDIxNy4wMDFjNDUgMCA4MS0xMiAxMDgtMzYgMjYtMjQgNDEtNTggNDUtMTAybDExLTExN2MzLTQ1LTYtNzktMjgtMTAzLTIzLTI0LTU2LTM2LTEwMS0zNmgtNDl2MWMtMTAuMDAxIDEtMTUuMDAxIDctMTYuMDAxIDE3bC01IDU4Yy0xIDEwIDcgMTggMTcuMDAxIDE4aDI3YzE4IDAgMzAgNCAzNyAxMnMxMCAyMSA5IDM5bC0xMCAxMDRjLTEgMTktNiAzMi0xNCAzOS05IDgtMjIgMTItNDAgMTJINzYuMzk1Yy0xNyAwLTMzIDktNDMgMjRsLTMwIDQ0Ii8+PC9nPjwvc3ZnPg==",
                            "icon_mime_type": "image/svg+xml",
                            "license_term": 0,
                            "max_users": null,
                            "maximum_server_price": null,
                            "minimum_server_price": null,
                            "price": null,
                            "price_unit": "USD",
                            "product": "Comodo DV Certificate",
                            "product_category": "N/A",
                            "product_group": "ssl_certificate",
                            "product_id": 151,
                            "provider_display_name": "cPanel Store",
                            "provider_name": "cPStore",
                            "recommended": 0,
                            "requires_ip": 0,
                            "x_certificate_term": [
                              1,
                              "year"
                            ],
                            "x_identity_verification": null,
                            "x_max_http_redirects": 0,
                            "x_payment_trigger": "issuance",
                            "x_price_per_domain": 12,
                            "x_price_per_domain_maximum": 120,
                            "x_price_per_domain_minimum": 12,
                            "x_price_per_wildcard_domain": "99.00",
                            "x_price_per_wildcard_domain_maximum": "990.00",
                            "x_price_per_wildcard_domain_minimum": "99.00",
                            "x_ssl_per_domain_pricing": 1,
                            "x_supports_dns_dcv": 1,
                            "x_validation_type": "dv",
                            "x_warn_after": 604800,
                            "x_wildcard_parent_domain_free": 1
                          },
                          {
                            "base_name": "",
                            "billing_type": "one-time",
                            "description": "An extended-validated (EV) SSL certificate signed by cPanel.",
                            "display_name": "cPanel EV SSL Certificate",
                            "enabled": 1,
                            "icon": "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNTlwdCIgaGVpZ2h0PSIzMjAiIHZpZXdCb3g9IjAgMCAzNTkgMjQwIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Ik0xMjMgMGgyMzUuMzd2MjQwSDEyM3ptMCAwIi8+PC9jbGlwUGF0aD48L2RlZnM+PHBhdGggZD0iTTg5LjY5IDU5LjEwMmg2Ny44MDJsLTEwLjUgNDAuMmMtMS42MDUgNS42LTQuNjA1IDEwLjEtOSAxMy41LTQuNDAyIDMuNC05LjUwNCA1LjA5Ni0xNS4zIDUuMDk2aC0zMS41Yy03LjIgMC0xMy41NSAyLjEwMi0xOS4wNSA2LjMtNS41MDUgNC4yLTkuMzUzIDkuOTA0LTExLjU1MiAxNy4xMDMtMS40IDUuNDAzLTEuNTUgMTAuNS0uNDUgMTUuMzAyIDEuMDk4IDQuNzk2IDMuMDQ3IDkuMDUgNS44NTIgMTIuNzUgMi43OTcgMy43MDMgNi40IDYuNjUyIDEwLjc5NyA4Ljg1IDQuMzk3IDIuMiA5LjE5OCAzLjI5OCAxNC40IDMuMjk4aDE5LjJjMy42MDIgMCA2LjU0NyAxLjQ1MyA4Ljg1MiA0LjM1MiAyLjI5NyAyLjkwMiAyLjk0NSA2LjE0OCAxLjk1IDkuNzVsLTEyIDQ0LjM5OGgtMjFjLTE0LjQwMyAwLTI3LjY1My0zLjE0OC0zOS43NS05LjQ1LTEyLjEwMi02LjMtMjIuMTUzLTE0LjY0OC0zMC4xNTMtMjUuMDUtOC0xMC4zOTUtMTMuNDU0LTIyLjI0Ni0xNi4zNS0zNS41NDctMi45LTEzLjMtMi41NS0yNi45NSAxLjA1Mi00MC45NTNsMS4yLTQuNWMyLjU5Ny05LjYwMiA2LjY0OC0xOC40NSAxMi4xNDgtMjYuNTUgNS41LTguMDk4IDEyLTE1IDE5LjUtMjAuNyA3LjUtNS43IDE1Ljg1LTEwLjE0OCAyNS4wNS0xMy4zNTIgOS4yLTMuMTk1IDE4Ljc5Ny00Ljc5NiAyOC44LTQuNzk2IiBmaWxsPSIjZmY2YzJjIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTIzLjg5IDI0MEwxODIuOTkgMTguNjAyYzEuNTk4LTUuNTk4IDQuNTk4LTEwLjA5OCA5LTEzLjVDMTk2LjM4OCAxLjcgMjAxLjQ4NCAwIDIwNy4yODggMGg2Mi43YzE0LjQwMyAwIDI3LjY1IDMuMTQ4IDM5Ljc1IDkuNDUgMTIuMTAyIDYuMyAyMi4xNTMgMTQuNjU1IDMwLjE1MyAyNS4wNSA3Ljk5NyAxMC40MDIgMTMuNSAyMi4yNTQgMTYuNSAzNS41NSAzIDEzLjMwNSAyLjU5NCAyNi45NTQtMS4yMDIgNDAuOTVsLTEuMiA0LjVjLTIuNTk3IDkuNjAyLTYuNTk3IDE4LjQ1LTEyIDI2LjU1LTUuMzk4IDguMDk4LTExLjg0NyAxNS4wNTItMTkuMzQ3IDIwLjg0OC03LjUgNS44MDUtMTUuODU1IDEwLjMwNS0yNS4wNSAxMy41LTkuMiAzLjIwNC0xOC44MDUgNC44MDUtMjguODA1IDQuODA1aC01NC4yOTdsMTAuOC00MC41YzEuNi01LjQwMiA0LjYtOS44IDktMTMuMjAzIDQuMzk2LTMuMzk4IDkuNDk3LTUuMTAyIDE1LjMwMi01LjEwMmgxNy4zOThjNy4yIDAgMTMuNjUzLTIuMiAxOS4zNTItNi41OTcgNS42OTUtNC4zOTggOS40NDUtMTAuMDk3IDExLjI1LTE3LjEgMS4zOTQtNC45OTcgMS41NDctOS45LjQ0NS0xNC43LTEuMS00LjgtMy4wNS05LjA0Ny01Ljg0OC0xMi43NS0yLjgtMy42OTUtNi40MDItNi42OTUtMTAuNzk2LTktNC40MDYtMi4yOTctOS4yMDYtMy40NS0xNC40MDItMy40NUgyMzMuMzlsLTQzLjggMTYyLjkwM2MtMS42MDYgNS40LTQuNjA2IDkuNzk3LTkgMTMuMTk1LTQuNDAzIDMuNDA3LTkuNDA2IDUuMTAyLTE1IDUuMTAyaC00MS43IiBmaWxsPSIjZmY2YzJjIi8+PC9nPjwvc3ZnPgo=",
                            "icon_mime_type": "image/svg+xml",
                            "license_term": 0,
                            "max_users": null,
                            "maximum_server_price": null,
                            "minimum_server_price": null,
                            "price": null,
                            "price_unit": "USD",
                            "product": "cPanel EV Certificate",
                            "product_category": "N/A",
                            "product_group": "ssl_certificate",
                            "product_id": 209,
                            "provider_display_name": "cPanel Store",
                            "provider_name": "cPStore",
                            "recommended": 0,
                            "requires_ip": 0,
                            "x_certificate_term": [
                              1,
                              "year"
                            ],
                            "x_identity_verification": [
                              {
                                "label": "Organization Name",
                                "name": "organizationName"
                              },
                              {
                                "is_optional": 1,
                                "label": "Department Name",
                                "name": "organizationalUnitName"
                              },
                              {
                                "description": "9 consecutive digits or “##-###-####” (More information (https://go.cpanel.net/get_duns))",
                                "is_optional": 1,
                                "label": "Dun & Bradstreet D-U-N-S (Data Universal Numbering System) Number",
                                "name": "duns_number",
                                "pattern": "^[0-9]{2}(?:-[0-9]{3}-[0-9]{4}|[0-9]{7})$"
                              },
                              {
                                "label": "Street Address",
                                "name": "streetAddress"
                              },
                              {
                                "label": "City",
                                "name": "localityName"
                              },
                              {
                                "label": "State or Province",
                                "name": "stateOrProvinceName"
                              },
                              {
                                "label": "Postal Code",
                                "name": "postalCode"
                              },
                              {
                                "label": "Country Code",
                                "name": "countryName",
                                "type": "country_code"
                              },
                              {
                                "label": "Representative’s Given (First) Name",
                                "name": "rep_forename"
                              },
                              {
                                "label": "Representative’s Surname (Last Name)",
                                "name": "rep_surname"
                              },
                              {
                                "label": "Representative’s Email Address",
                                "name": "rep_email_address",
                                "type": "email"
                              },
                              {
                                "description": "This should be one of the organization’s publicly-listed telephone numbers.",
                                "is_optional": 1,
                                "label": "Representative’s Telephone Number",
                                "name": "rep_telephone",
                                "type": "tel"
                              },
                              {
                                "description": "Consult the EV SSL Certificate Guidelines (https://cabforum.org/extended-validation/) for more information about this field’s options.",
                                "label": "Business Category",
                                "name": "business_category",
                                "options": [
                                  [
                                    "b",
                                    "Incorporated Business (“Private Organization”)"
                                  ],
                                  [
                                    "d",
                                    "Non-incorporated Business (“Business Entity”)"
                                  ],
                                  [
                                    "c",
                                    "Government Entity (“Government Entity”)"
                                  ]
                                ],
                                "type": "choose_one"
                              },
                              {
                                "is_optional": 1,
                                "label": "City Where Incorporated (JOI (Jurisdiction of Incorporation))",
                                "name": "joi_locality_name"
                              },
                              {
                                "is_optional": 1,
                                "label": "State or Province Where Incorporated (JOI (Jurisdiction of Incorporation))",
                                "name": "joi_state_or_province_name"
                              },
                              {
                                "label": "Country Code Where Incorporated (JOI (Jurisdiction of Incorporation))",
                                "name": "joi_country_name",
                                "type": "country_code"
                              },
                              {
                                "is_optional": 1,
                                "label": "Date of Incorporation",
                                "name": "date_of_incorporation",
                                "type": "date"
                              },
                              {
                                "is_optional": 1,
                                "label": "Assumed Name (DBA (Doing Business As))",
                                "name": "assumed_name"
                              }
                            ],
                            "x_max_http_redirects": 0,
                            "x_payment_trigger": "checkout",
                            "x_price_per_domain": 60,
                            "x_price_per_domain_maximum": 600,
                            "x_price_per_domain_minimum": 60,
                            "x_ssl_per_domain_pricing": 1,
                            "x_supports_dns_dcv": 1,
                            "x_validation_type": "ev",
                            "x_warn_after": 604800
                          }
                        ],
                        "errors": null,
                        "messages": null,
                        "metadata": {
                          "transformed": 1
                        },
                        "status": 1,
                        "warnings": null
                      }
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_all_products",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "$ref": "#/components/schemas/MarketProviderProductMetaDataType"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return provider's available products",
        "tags": [
          "Market",
          "Market Integration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_all_products\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/get_all_products"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_all_products.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_all_products.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_all_products/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_all_products.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_all_products.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_all_products'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/Market/get_build_cart_url": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function builds the URL for the shopping cart page for the specified product. The system saves session data and constructs a full cPanel URL pointing to the product purchase page.",
        "operationId": "Market-get_build_cart_url",
        "parameters": [
          {
            "description": "The name of the product for which to build the cart URL.",
            "in": "query",
            "name": "product_name",
            "required": true,
            "schema": {
              "example": "cpanel-ssl",
              "type": "string"
            }
          },
          {
            "description": "The domain associated with the product purchase. This parameter is optional.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_build_cart_url",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "url": {
                              "description": "The full cPanel URL for the product purchase cart page, including the security token.",
                              "example": "https://hostname.example.com:2083/cpsessXXXXXXXXXX/frontend/jupiter/store/purchase_product_build_cart.html?product_name=cpanel-ssl",
                              "format": "url",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Build cart URL for a product",
        "tags": [
          "Market",
          "Market Integration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_build_cart_url \\\n  product_name='cpanel-ssl' \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/get_build_cart_url?product_name=cpanel-ssl&domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_build_cart_url.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_build_cart_url.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_build_cart_url/,\n    {\n        'product_name' => 'cpanel-ssl',\n        'domain'       => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_build_cart_url.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_build_cart_url.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_build_cart_url',\n    array (\n        'product_name' => 'cpanel-ssl',\n        'domain'       => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 62"
      }
    },
    "/Market/get_certificate_status_details": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the status of an SSL certificate request. The returns include\nactionable URLs for users to expedite the validation process, if applicable.\n\n**Important:**\n\nBecause this function returns data from a dynamic source, the returns in each\nobject can vary.",
        "operationId": "Market-get_certificate_status_details",
        "parameters": [
          {
            "description": "The order ID that the cPanel Market provider assigned.",
            "in": "query",
            "name": "order_item_id",
            "required": true,
            "schema": {
              "example": 1234567890,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "The cPanel Market provider's name.",
            "in": "query",
            "name": "provider",
            "required": true,
            "schema": {
              "example": "cPStore",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_certificate_status_details",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "actionUrls": {
                              "description": "An object that contains actionable URLs.",
                              "properties": {
                                "evClickThroughStatus": {
                                  "description": "A URL that a user can use to expedite the validation process for Extended Validation (EV) certificates.",
                                  "example": "https://example.com/action",
                                  "format": "url",
                                  "type": "string"
                                },
                                "ovCallbackStatus": {
                                  "description": "A URL that a user can use to expedite the validation process for Organization Validated (OV) certificates.",
                                  "example": "https://example.com/action",
                                  "format": "url",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "domain_details": {
                              "description": "An object that contains information about the domain.",
                              "properties": {
                                "domain": {
                                  "description": "The Fully Qualified Domain Name (FQDN) that the function queries.",
                                  "example": "www.example.com",
                                  "format": "domain",
                                  "type": "string"
                                },
                                "status": {
                                  "description": "The status of the domain's certificate.\n\n* `VALIDATED` - The domain has been validated.\n* `NOTVALIDATED` - The domain has **not** been validated.\n* `AWAITINGBRAND` - The domain has **not** been validated, and is awaiting brand approval.",
                                  "enum": [
                                    "VALIDATED",
                                    "NOTVALIDATED",
                                    "AWAITINGBRAND"
                                  ],
                                  "example": "AWAITINGBRAND",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "status_details": {
                              "description": "An object that contains specific information about the validation process.",
                              "properties": {
                                "brandValStatus": {
                                  "description": "Whether the brand validation status has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The certificate's brand validation is **not** complete.\n* `completed` - The certificate's brand validation is complete.\n* `in-progress` - The certificate's brand validation is in progress.",
                                  "enum": [
                                    "not applicable",
                                    "not-completed",
                                    "completed",
                                    "in-progress"
                                  ],
                                  "example": "in-progress",
                                  "type": "string"
                                },
                                "certificateStatus": {
                                  "description": "Whether the provider has issued the SSL certificate.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The certificate's issue is **not** completed.\n* `completed` - The provider has issued the certificate.\n* `in-progress` - The certificate's issue is in progress.",
                                  "enum": [
                                    "not applicable",
                                    "not-completed",
                                    "completed",
                                    "in-progress"
                                  ],
                                  "example": "in-progress",
                                  "type": "string"
                                },
                                "csrStatus": {
                                  "description": "Whether the certificate signing request (CSR) has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The CSR for the certificate is **not** complete.\n* `completed` - The CSR for the certificate is complete.\n* `in-progress` - The CSR for the certificate is in progress.",
                                  "enum": [
                                    "not applicable",
                                    "not-completed",
                                    "completed",
                                    "in-progress"
                                  ],
                                  "example": "completed",
                                  "type": "string"
                                },
                                "dcvStatus": {
                                  "description": "Whether Domain Control Validation (DCV) has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The DCV for the certificate is **not** complete.\n* `completed` - The DCV for the certificate is complete.\n* `in-progress` - The DCV for the certificate is in progress.",
                                  "enum": [
                                    "not applicable",
                                    "not-completed",
                                    "completed",
                                    "in-progress"
                                  ],
                                  "example": "completed",
                                  "type": "string"
                                },
                                "evClickThroughStatus": {
                                  "description": "Whether every requirement for the EV certificate has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The EV certificate's requirements check is **not** complete.\n* `completed` - The EV certificate's requirements check is complete.\n* `in-progress` - The EV certificate's requirements check is in progress.\n\nFor more information, read Sectigo's [What is required for validation?](https://support.sectigo.com/Com_KnowledgeDetailPage?Id=kA01N000000zFOr) documentation.",
                                  "enum": [
                                    "not applicable",
                                    "not-completed",
                                    "completed",
                                    "in-progress"
                                  ],
                                  "example": "in-progress",
                                  "type": "string"
                                },
                                "freeDVUPStatus": {
                                  "description": "Whether every requirement for the Domain Validated (DV) certificate has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The DV certificate's requirements check is **not** complete.\n* `completed` - The DV certificate's requirements check is complete.\n* `in-progress` - The DV certificate's requirements check is in progress.",
                                  "enum": [
                                    "not applicable",
                                    "not-completed",
                                    "completed",
                                    "in-progress"
                                  ],
                                  "example": "not applicable",
                                  "type": "string"
                                },
                                "organizationValidationStatus": {
                                  "description": "Whether every requirement for the OV certificate has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The OV certificate's requirements check is **not** complete.\n* `completed` - The OV certificate's requirements check is complete.\n* `in-progress` - The OV certificate's requirements check is in progress.",
                                  "enum": [
                                    "not applicable",
                                    "not-completed",
                                    "completed",
                                    "in-progress"
                                  ],
                                  "example": "not applicable",
                                  "type": "string"
                                },
                                "ovCallbackStatus": {
                                  "description": "Whether the Certificate Authority (CA) has verified the organization's validity via a phone call.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The CA has **not** verified the organization's validity via phone.\n* `completed` - The CA has verified the organization's validity via phone.\n* `in-progress` - The CA's verification of the organization's validity via phone is in progress.",
                                  "enum": [
                                    "not applicable",
                                    "not-completed",
                                    "completed",
                                    "in-progress"
                                  ],
                                  "example": "not applicable",
                                  "type": "string"
                                },
                                "validationStatus": {
                                  "description": "Whether the validation process has completed.\n\n* `not applicable` - This is **not** applicable for the certificate.\n* `not-completed` - The certificate's validation is **not** complete.\n* `completed` - The certificate's validation is complete.\n* `in-progress` - The certificate's validation is in progress.",
                                  "enum": [
                                    "not applicable",
                                    "not-completed",
                                    "completed",
                                    "in-progress"
                                  ],
                                  "example": "in-progress",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": [
                            "Certificate request is still being processed."
                          ],
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return provider's SSL certificate request status",
        "tags": [
          "Market",
          "SSL Certificates"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_certificate_status_details \\\n  order_item_id='1234567890' \\\n  provider='cPStore'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/get_certificate_status_details?order_item_id=1234567890&provider=cPStore"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_certificate_status_details.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_certificate_status_details.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_certificate_status_details/,\n    {\n        'order_item_id' => '1234567890',\n        'provider' => 'cPStore',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_certificate_status_details.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_certificate_status_details.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_certificate_status_details',\n    array (\n        'order_item_id' => '1234567890',\n        'provider' => 'cPStore',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPStore 76"
      }
    },
    "/Market/get_completion_url": {
      "get": {
        "x-readonly": true,
        "description": "This function builds the full cPanel URL for the product purchase completion page. The URL includes the security token and points to the completion page for the specified product.",
        "operationId": "Market-get_completion_url",
        "parameters": [
          {
            "description": "The name of the product for which to retrieve the completion URL.",
            "in": "query",
            "name": "product_name",
            "required": true,
            "schema": {
              "example": "cpanel-ssl",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_completion_url",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "completion_url": {
                              "description": "The full cPanel URL for the product purchase completion page, including the security token.",
                              "example": "https://hostname.example.com:2083/cpsessXXXXXXXXXX/frontend/jupiter/store/purchase_cpanel-ssl_completion.html",
                              "format": "url",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Get product purchase completion URL",
        "tags": [
          "Market",
          "Market Integration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_completion_url \\\n  product_name='cpanel-ssl'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/get_completion_url?product_name=cpanel-ssl"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_completion_url.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_completion_url.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_completion_url/,\n    {\n        'product_name' => 'cpanel-ssl',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_completion_url.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_completion_url.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_completion_url',\n    array (\n        'product_name' => 'cpanel-ssl',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 62"
      }
    },
    "/Market/get_license_info": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function retrieves license information for the specified domain from the cPanel Store and saves it to the current session.",
        "operationId": "Market-get_license_info",
        "parameters": [
          {
            "description": "The domain for which to retrieve license information. This parameter is optional.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_license_info",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "This function does not return data.",
                          "example": null,
                          "type": "object",
                          "nullable": true
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Retrieve license information for a domain",
        "tags": [
          "Market",
          "Market Integration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_license_info \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/get_license_info?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_license_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_license_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_license_info/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_license_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_license_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_license_info',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 62"
      }
    },
    "/Market/get_login_url": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the login URL for the cPanel Market provider.",
        "operationId": "Market-get_login_url",
        "parameters": [
          {
            "description": "The cPanel Market provider's name.",
            "in": "query",
            "name": "provider",
            "required": true,
            "schema": {
              "example": "cPStore",
              "type": "string"
            }
          },
          {
            "description": "Where the cPanel Market provider redirects the user's browser after they log in.",
            "in": "query",
            "name": "url_after_login",
            "required": true,
            "schema": {
              "example": "http://hostname.example.com/redirectionlocation.cgi?state",
              "format": "url",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_login_url",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The URL to which to redirect the browser after login.",
                          "example": "https://example.com/api/?client_id=MyHearseIsAmazing&function=login&module=bogoSSL&redirect_uri=https%3A%2F%2Fqaportal.cpanel.net%2Fbogus.cgi&response_type=token",
                          "format": "url",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return provider's login URL",
        "tags": [
          "Market",
          "Market Integration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_login_url \\\n  provider='cPStore' \\\n  url_after_login='http://hostname.example.com/redirectionlocation.cgi?state'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/get_login_url?provider=cPStore&url_after_login=http%3a%2f%2fhostname.example.com%2fredirectionlocation.cgi%3fstate"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_login_url.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_login_url.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_login_url/,\n    {\n        'provider' => 'cPStore',\n        'url_after_login' => 'http://hostname.example.com/redirectionlocation.cgi?state',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_login_url.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_login_url.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_login_url',\n    array (\n        'provider' => 'cPStore',\n        'url_after_login' => 'http://hostname.example.com/redirectionlocation.cgi?state',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/Market/get_pending_ssl_certificates": {
      "get": {
        "x-readonly": true,
        "description": "This function lists all pending SSL certificates from a cPanel Market provider for which the system currently polls.",
        "operationId": "Market-get_pending_ssl_certificates",
        "parameters": [
          {
            "description": "The cPanel Market provider's name.",
            "in": "query",
            "name": "provider",
            "required": true,
            "schema": {
              "example": "cPStore",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_pending_ssl_certificates",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that contain information about each certificate for which the system polls the provider.",
                          "items": {
                            "properties": {
                              "created_time": {
                                "description": "When the system placed the order.",
                                "example": 1417475501,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "csr": {
                                "description": "The certificate signing request's (CSR) text. A CSR file in Base64 PEM format.",
                                "example": "Click to view...-----BEGIN CERTIFICATE REQUEST----- MIIC4DCCAcgCAQAwgZoxFjAUBgNVBAMTDXRlc3RzaW1vbi5jb20xFjAUBgNVBAsT DURvY3VtZW50YXRpb24xDjAMBgNVBAgTBVRleGFzMQ8wDQYDVQQKEwZjUGFuZWwx KDAmBgkqhkiG9w0BCQEWGWxhdXJlbmNlLnNpbW9uQGNwYW5lbC5uZXQxCzAJBgNV BAYTAlVTMRAwDgYDVQQHEwdIb3VzdG9uMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEA4AVM6J4Qg3DIFWr/eJ5GRmIATYsJIepKbrDy70sq+udcO8R8xxak 0oMZ/9mUdpjSNK/fLVTuCO0kxTfQ9VUWJllX7ThD6Zh9ZvlC/nf/OEZLm3ZbnBgu 8rbC8E9wuDOkKbJLnINgdhtowIydLK2MJ++q62bFV89jkHWTMcKyyqHENo3hc+lk pd9vnp8rZTinaVb7nX26uQqAFZYRo+WU0G/NPsq40QVSMoqPxyEz4qXo0hvuIlCX mzFZq/6fCVPEKPLhQgMmpdBkMz4dVOazREfqXdjMD2+QXSNiA1AwWr8l0r4rtzlx EYDJIR41yXp0xMl3KoolxMyvLBqZy32niQIDAQABoAAwDQYJKoZIhvcNAQEFBQAD ggEBAEaCn+rg6qlhp6SEKuZg1G6z1M+1XQoTN3E6bTdM3rD1wXjqtyFfYGTy5Bvv gUKrl6t312owJ2si8/K9v/ocVxdjc0rPWSOWScfSc1Od3i1L1YuqbboL2aQSak3y gpGnZMHCUED1y4xyABAFOaXUurFiZj5u3P2mBAYGt2ez2afiPlo5YpTRNCoTUlVz KNKkyUnptBLOvlwGgerBmOoP4QdVhTSuxO9TECsiPdldE1BVZrlFclDFvoP01jFZ WOTWz+k3O202gK4w/tPP2VMVldNFrC0QoENu85ohT1nJj6F3mrM1CZ+1c8zYzr+S 6aAXFhHE6FweeunRAGjEJggoTPo= -----END CERTIFICATE REQUEST-----",
                                "format": "base64 certificate",
                                "type": "string"
                              },
                              "domains": {
                                "description": "The domains on the certificate.",
                                "items": {
                                  "example": "example.com",
                                  "format": "domain",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "expired": {
                                "description": "Whether the pending queue item has been deleted.\n* `1` - Deleted.\n* `0` - **Not** deleted.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "first_poll_time": {
                                "description": "The first time that the system polled the provider for the certificate.",
                                "example": 1437475501,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "identity_verification": {
                                "description": "hash that contains information to verify an OV or EV certificate request.\n\n**Notes:**\n\n The function returns this hash for OV or EV certificate requests. This hash includes returns that vary between certificate providers. The output example demonstrates what the cPStore returns for an OV certificate.",
                                "example": {
                                  "assumed_name": "cPanel",
                                  "business_category": "b",
                                  "countryName": "US",
                                  "date_of_incorporation": "1996-01-01T00:00:00.000Z",
                                  "duns_number": "12-345-6789",
                                  "joi_country_name": "US",
                                  "joi_locality_name": "Somewhere",
                                  "joi_state_or_province_name": "PA",
                                  "localityName": "Houston",
                                  "organizationName": "WebPros International, LLC",
                                  "organizationalUnitName": "Team Cobra",
                                  "postalCode": "77092",
                                  "rep_email_address": "richard.ang@cpanel.net",
                                  "rep_forename": "Richard",
                                  "rep_surname": "Ang",
                                  "rep_telephone": "713-529-0800",
                                  "stateOrProvinceName": "TX",
                                  "streetAddress": "2500 N. Loop W."
                                },
                                "type": "object"
                              },
                              "certificate_id": {
                                "description": "The certificate ID. The system sets this for re-issued short-lived certificates, which it polls by certificate ID rather than by order item ID.",
                                "example": "12345",
                                "type": "string"
                              },
                              "last_poll_time": {
                                "description": "The last time that the system polled the provider for the certificate.",
                                "example": 1457475501,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "last_status_code": {
                                "description": "The last status code of the order. The function returns the value in the unnamed hash.\n* `CertificateNotFound` - The system cannot locate the specified certificate.\n* `RequiresApproval` - The specified certificate requires approval.\n* `OrderCanceled` - The system canceled the order of the specified certificate.\n* `OrderItemCanceled` - The system canceled the order item of the specified certificate.",
                                "enum": [
                                  "CertificateNotFound",
                                  "RequiresApproval",
                                  "OrderCanceled",
                                  "OrderItemCanceled"
                                ],
                                "example": "CertificateNotFound",
                                "type": "string"
                              },
                              "order_id": {
                                "description": "The ID of the order.",
                                "example": "AAE35B28-E57B-11E5-A5DD-B633DD41FB49",
                                "type": "string"
                              },
                              "order_item_id": {
                                "description": "The ID of the ordered item.",
                                "example": "1",
                                "type": "string"
                              },
                              "originating_certificate_id": {
                                "description": "For a re-issued certificate, the ID of the certificate that it descends from.",
                                "example": "12340",
                                "type": "string"
                              },
                              "parent_cert_expiry": {
                                "description": "The expiration of the parent subscription certificate, as a Unix timestamp.",
                                "example": 1735689600,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "product_id": {
                                "description": "The product's ID.",
                                "example": "12345",
                                "type": "string"
                              },
                              "provider": {
                                "description": "The cPanel Market provider's name.",
                                "example": "cPStore",
                                "type": "string"
                              },
                              "status": {
                                "description": "The status of the order.\n* `confirmed` - Payment confirmed.\n* `unconfirmed` - Payment not confirmed.",
                                "example": "confirmed",
                                "type": "string"
                              },
                              "support_uri": {
                                "description": "The URI of the cPanel Market Provider's support site.",
                                "example": "http://support.example.com/",
                                "format": "url",
                                "type": "string"
                              },
                              "vhost_names": {
                                "description": "The virtual host domains on the certificate.",
                                "items": {
                                  "example": "example.com",
                                  "format": "domain",
                                  "type": "string"
                                },
                                "type": "array"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return provider's pending SSL certificates",
        "tags": [
          "Market",
          "SSL Certificates"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_pending_ssl_certificates \\\n  provider='cPStore'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/get_pending_ssl_certificates?provider=cPStore"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_pending_ssl_certificates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_pending_ssl_certificates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_pending_ssl_certificates/,\n    {\n        'provider' => 'cPStore',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_pending_ssl_certificates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_pending_ssl_certificates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_pending_ssl_certificates',\n    array (\n        'provider' => 'cPStore',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/Market/get_product_info": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves product information for the specified product name, including the product ID, redirect path, and redirect URLs for successful and failed purchases.",
        "operationId": "Market-get_product_info",
        "parameters": [
          {
            "description": "The name of the product for which to retrieve information.",
            "in": "query",
            "name": "product_name",
            "required": true,
            "schema": {
              "example": "cpanel-ssl",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_product_info",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "product_id": {
                              "description": "The product's identifier in the cPanel Store.",
                              "example": "123456",
                              "type": "string"
                            },
                            "redirect_path": {
                              "description": "The cPanel path to redirect to after a purchase attempt.",
                              "example": "/frontend/jupiter/store/purchase_cpanel-ssl_completion.html",
                              "type": "string"
                            },
                            "redirect_url_failure": {
                              "description": "The full cPanel URL to redirect to after a failed purchase, including the security token and relevant query string parameters.",
                              "example": "https://hostname.example.com:2083/cpsessXXXXXXXXXX/frontend/jupiter/store/purchase_cpanel-ssl_completion.html?domain=example.com&successful_purchase=0",
                              "format": "url",
                              "type": "string"
                            },
                            "redirect_url_success": {
                              "description": "The full cPanel URL to redirect to after a successful purchase, including the security token and relevant query string parameters.",
                              "example": "https://hostname.example.com:2083/cpsessXXXXXXXXXX/frontend/jupiter/store/purchase_cpanel-ssl_completion.html?domain=example.com&successful_purchase=1",
                              "format": "url",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Retrieve product information",
        "tags": [
          "Market",
          "Market Integration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_product_info \\\n  product_name='cpanel-ssl'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/get_product_info?product_name=cpanel-ssl"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_product_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_product_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_product_info/,\n    {\n        'product_name' => 'cpanel-ssl',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_product_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_product_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_product_info',\n    array (\n        'product_name' => 'cpanel-ssl',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 62"
      }
    },
    "/Market/get_provider_specific_dcv_constraints": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the provider's filename requirements for Domain Control Validation (DCV) checks.",
        "operationId": "Market-get_provider_specific_dcv_constraints",
        "parameters": [
          {
            "description": "The cPanel Market provider's name.",
            "in": "query",
            "name": "provider",
            "required": true,
            "schema": {
              "example": "cPStore",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_provider_specific_dcv_constraints",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "dcv_file_allowed_characters": {
                              "description": "An array that lists the characters which the provider allows in the DCV check file's filename.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "dcv_file_extension": {
                              "description": "The DCV check file extension that the provider requires.",
                              "example": "txt",
                              "type": "string"
                            },
                            "dcv_file_random_character_count": {
                              "description": "The number of characters that the provider allows in the DCV check file's filename.",
                              "example": 32,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "dcv_file_relative_path": {
                              "description": "The path to the DCV check file, relative to the domain's document root directory.",
                              "example": ".well-known/pki-validation",
                              "format": "path",
                              "type": "string"
                            },
                            "dcv_max_redirects": {
                              "description": "The maximum number of HTTP redirects the provider allows.",
                              "example": 0,
                              "minimum": 0,
                              "type": "integer"
                            },
                            "dcv_user_agent_string": {
                              "description": "The user agent string that the system will use for the imitated local DCV check.",
                              "example": "COMODO DCV",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return provider's DCV filename requirements",
        "tags": [
          "Market",
          "SSL Certificates"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_provider_specific_dcv_constraints \\\n  provider='cPStore'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/get_provider_specific_dcv_constraints?provider=cPStore"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_provider_specific_dcv_constraints.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_provider_specific_dcv_constraints.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_provider_specific_dcv_constraints/,\n    {\n        'provider' => 'cPStore',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_provider_specific_dcv_constraints.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_provider_specific_dcv_constraints.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_provider_specific_dcv_constraints',\n    array (\n        'provider' => 'cPStore',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 62"
      }
    },
    "/Market/get_providers_list": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the names of enabled cPanel Market providers.",
        "operationId": "Market-get_providers_list",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_providers_list",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects that lists enabled providers in the cPanel Market.",
                          "items": {
                            "properties": {
                              "display_name": {
                                "description": "The cPanel Market provider's display name.",
                                "example": "cPanel Store",
                                "type": "string"
                              },
                              "name": {
                                "description": "The cPanel Market provider's name.",
                                "example": "cPStore",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return enabled providers",
        "tags": [
          "Market",
          "Market Integration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_providers_list\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/get_providers_list"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_providers_list.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_providers_list.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_providers_list/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_providers_list.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_providers_list.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_providers_list'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/Market/get_ssl_certificate_if_available": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves SSL certificates when they are available from the cPanel Market provider.",
        "operationId": "Market-get_ssl_certificate_if_available",
        "parameters": [
          {
            "description": "The order item for which to poll.",
            "in": "query",
            "name": "order_item_id",
            "required": true,
            "schema": {
              "example": "8675309",
              "type": "string"
            }
          },
          {
            "description": "The cPanel Market provider's name.",
            "in": "query",
            "name": "provider",
            "required": true,
            "schema": {
              "example": "cPStore",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_ssl_certificate_if_available",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "certificate_pem": {
                              "description": "The certificate's text.\n* `null` - The certificate is not available.\n* A certificate file in [Base64 PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) format.",
                              "example": "-----BEGIN CERTIFICATE----- MIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJ c2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQI DAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYy MjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNV BAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3P Xx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fW voK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/da M3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC +Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6 PLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGj UDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw +wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA A4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3Wh cDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVw FYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh /SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2ag qz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPa Km6r7YmwfLN/YMZBHXSR58oOGP9W -----END CERTIFICATE-----",
                              "format": "base64 certificate",
                              "nullable": true,
                              "type": "string"
                            },
                            "encrypted_action_urls": {
                              "description": "An object that contains encrypted URLs a user must click to complete their SSL certificate order.\n\n**Note:**\n\nThis return may also contain additional key values. For more information, read [Sectigo's documentation](https://sectigo.com/uploads/files/CollectSSL-v1.17.pdf).",
                              "properties": {
                                "evClickThroughStatus": {
                                  "description": "A URL the user must click to electronically sign an agreement for their Extended Validation (EV) certificate.\n* An encrypted URL.\n* `null` - No action required.",
                                  "example": "mgs8RgnN0rkRmJz0SAMvjLokoPoXm5LdzEkmKA7IsGmzvU5XTrFInOegFBbWFycToS7FPOevzkH9\\nZp0+QG1xcC/0bWKB1cNeTiYB3Fmv0HGu2ZsA+AYgIhSsZikyD9M6YbHk1IZA3GLNPl8DxX5zG9LQ\\nHiv7Ll2QMJcPmMaJ3xktTY9NuiaPiPmYBljEE094LeqabP3w/kRALDnhR4FcwjsTn7iDJKoxtKju\\nP/DbgV32vhESwWoaKrIYPkSJ/Dav0a/LQqLqD3Jg27WgrW+GaZSbHlHr09UQW/2CIiIK7jbUoLG3\\nANL0fKevyjxrBjCfXQq0umXcZIJPWo4gfukfkQ==\\n",
                                  "nullable": true,
                                  "type": "string"
                                },
                                "ovCallbackStatus": {
                                  "description": "URL the user must click to verify their identity by phone to complete their Organization Validation (OV) certificate order.\n* An encrypted URL.\n* `null` - No action required.",
                                  "example": "mgs8RgnN0rkRmJz0SAMvjLokoPoXm5LdzEkmKA7IsGmzvU5XTrFInOegFBbWFycToS7FPOevzkH9\\nZp0+QG1xcC/0bWKB1cNeTiYB3Fmv0HGu2ZsA+AYgIhSsZikyD9M6YbHk1IZA3GLNPl8DxX5zG9LQ\\nHiv7Ll2QMJcPmMaJ3xktTY9NuiaPiPmYBljEE094LeqabP3w/kRALDnhR4FcwjsTn7iDJKoxtKju\\nP/DbgV32vhESwWoaKrIYPkSJ/Dav0a/LQqLqD3Jg27WgrW+GaZSbHlHr09UQW/2CIiIK7jbUoLG3\\nANL0fKevyjxrBjCfXQq0umXcZIJPWo4gfukfkQ==\\n",
                                  "nullable": true,
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "status_code": {
                              "description": "The status code of the certificate.",
                              "example": "RequiresApproval",
                              "type": "string"
                            },
                            "status_message": {
                              "description": "An error message from the certificate provider. For example, why a certificate authority rejected an SSL certificate.\n\n**Note:**\n\nIf no error message exists, this will return an empty string.",
                              "example": "PRE-SIGN FAILED: CAA: Processing error",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings\ndescribe non-critical failures or other problematic conditions\nnoted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return provider's available SSL certificates",
        "tags": [
          "Market",
          "SSL Certificates"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  get_ssl_certificate_if_available \\\n  provider='cPStore' \\\n  order_item_id='8675309'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/get_ssl_certificate_if_available?provider=cPStore&order_item_id=8675309"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_get_ssl_certificate_if_available.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_get_ssl_certificate_if_available.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/get_ssl_certificate_if_available/,\n    {\n        'provider' => 'cPStore',\n        'order_item_id' => '8675309',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_get_ssl_certificate_if_available.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_get_ssl_certificate_if_available.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'get_ssl_certificate_if_available',\n    array (\n        'provider' => 'cPStore',\n        'order_item_id' => '8675309',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/Market/process_ssl_pending_queue": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function manually processes the cPanel Market's SSL certificate request pending queue.",
        "operationId": "Market-process_ssl_pending_queue",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "process_ssl_pending_queue",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Information about each certificate request in the pending queue.",
                          "items": {
                            "properties": {
                              "certificate_id": {
                                "description": "The certificate ID. The system sets this for re-issued short-lived certificates, which it polls by certificate ID rather than by order item ID.",
                                "example": "12345",
                                "type": "string"
                              },
                              "certificate_pem": {
                                "description": "The text of the certificate, if available.\n* `null` - The certificate is not available.",
                                "example": "null",
                                "format": "base64 certificate",
                                "nullable": true,
                                "type": "string"
                              },
                              "created_time": {
                                "description": "When the system placed the order.",
                                "example": 1460136406,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "csr": {
                                "description": "The Certificate Signing Request's (CSR's) text.",
                                "example": "-----BEGIN CERTIFICATE REQUEST-----\\nMIICqjCCAZICAQAwHDEaMBgGA1UEAxMRY3BhbmVsc3NsdGVzdC5vcmcwggEiMA0G\\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqu4KLPxCgAENTJFjcUyc4v5KaF8Lu\\n2OldjIT/vB58IRCIUxdDSD29v/qHFVBaUFEtr+Ssey0strMcc6JYSl8Vdwfe2qwv\\npB6+Ufg+hlN4lAgojxgwz7iZlPnGuRVfNTvNMmljVRzGDc4SSzskpDxZhk+aaMgP\\nSkMLFg6f6pFZ+44alridlSG5gxD34xWAtt8Qy2v+6Q4XVuMNCd9KlyAoCV9Q+wH1\\nq49yoRdwvcY6G6mqlFWtHsToz4tdYk/Nt7odZnyKcjHWGWnlRzO2FGbbBxVKF8s6\\ns3DL5OwPRfQQD18V7eL7NmcFo45zmdndBOevrLuwXJ1yWITM2bmYgF1nAgMBAAGg\\nSTBHBgkqhkiG9w0BCQ4xOjA4MDYGA1UdEQEB/wQsMCqCEWNwYW5lbHNzbHRlc3Qu\\nb3JnghV3d3cuY3BhbmVsc3NsdGVzdC5vcmcwDQYJKoZIhvcNAQELBQADggEBAFAJ\\nSqTvd3d8PN26UiT4uX0WjofaX8u1/11hU5Saekai0Dxl/ijq2R7TpebXe9r0t6Cr\\ns7NXKszVoKzQHV4nSFbfb3ZxEsnVDXbPUv3D+oLfGpMASLG+P2yOjmDhzZBNJgo4\\nQu6nf6ggJxJ0PRM81xL234FAKqsOvvTwTLXtYVrwbUCzfB+yKJXvfeGETR/3HGxR\\nqoJ97Zmjsbw78fETEsZ6rsBHDPuxtxum73BC7qoLjCl4psPznHshXvWTeV9fyR3c\\nqpdpLvwBxhI8ZOWoNGgJlUpY9jUFgqG+YI/Mkmzmxk9QC9edIHSScTXxroYkmwMC\\nginnKRLDafSp+7FyIzs=\\n-----END CERTIFICATE REQUEST-----",
                                "format": "base64 certificate",
                                "type": "string"
                              },
                              "deleted": {
                                "description": "Whether the system has deleted the item from the pending queue.\n* `0` - Deleted.\n* `1` - **Not** deleted.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "domains": {
                                "description": "A list of domains that the certificate request covers.",
                                "items": {
                                  "example": "example.com",
                                  "format": "domain",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "expired": {
                                "description": "Whether the system has deleted the item from the pending queue.\n* `1` - Deleted.\n* `0` - **Not** deleted.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "first_poll_time": {
                                "description": "The first time that the system polled the provider for the certificate.",
                                "example": 1458061262,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "installed": {
                                "description": "Whether the system installed the certificate.\n* `1` - Installed.\n* `0` - **Not** installed.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "last_poll_time": {
                                "description": "The last time that the system polled the provider for the certificate.",
                                "example": 1458061299,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "last_status_code": {
                                "description": "The last status code of the order.\n* `CertificateNotFound` - The system cannot locate the specified certificate.\n* `RequiresApproval` - The specified certificate requires approval.\n* `OrderCanceled` - The system canceled the order of the specified certificate.\n* `OrderItemCanceled` - The system canceled the order item of the specified certificate.",
                                "enum": [
                                  "CertificateNotFound",
                                  "RequiresApproval",
                                  "OrderCanceled",
                                  "OrderItemCanceled"
                                ],
                                "example": "CertificateNotFound",
                                "type": "string"
                              },
                              "last_status_message": {
                                "description": "An error message from the certificate provider.\nFor example, why a certificate authority rejected an SSL certificate.\n\n**Note:**\n\nIf no error message exists, this will return an empty string.",
                                "example": "PRE-SIGN FAILED: CAA: Processing error",
                                "type": "string"
                              },
                              "order_id": {
                                "description": "A unique identifier for the order.",
                                "example": "19461",
                                "type": "string"
                              },
                              "order_item_id": {
                                "description": "A unique identifier of each item in the order.",
                                "example": "f9d7",
                                "type": "string"
                              },
                              "originating_certificate_id": {
                                "description": "For a re-issued certificate, the ID of the certificate that it descends from.",
                                "example": "12340",
                                "type": "string"
                              },
                              "parent_cert_expiry": {
                                "description": "The expiration of the parent subscription certificate, as a Unix timestamp.",
                                "example": 1735689600,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "product_id": {
                                "description": "An identifier for a given product.",
                                "example": "fg2",
                                "type": "string"
                              },
                              "provider": {
                                "description": "The cPanel Market provider's name.",
                                "example": "cPStore",
                                "type": "string"
                              },
                              "status": {
                                "description": "The status of the order.\n* `confirmed` - Payment confirmed.\n* `unconfirmed` - Payment **not** confirmed.",
                                "enum": [
                                  "confirmed",
                                  "unconfirmed"
                                ],
                                "example": "confirmed",
                                "type": "string"
                              },
                              "vhost_names": {
                                "description": "A list of virtual host names.",
                                "items": {
                                  "example": "example.com",
                                  "format": "domain",
                                  "type": "string"
                                },
                                "type": "array"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings\ndescribe non-critical failures or other problematic conditions\nnoted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Start processing pending queue's SSL certificates",
        "tags": [
          "Market",
          "SSL Certificates"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  process_ssl_pending_queue\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/process_ssl_pending_queue"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_process_ssl_pending_queue.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_process_ssl_pending_queue.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/process_ssl_pending_queue/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_process_ssl_pending_queue.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_process_ssl_pending_queue.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'process_ssl_pending_queue'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/Market/request_ssl_certificates": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function submits a request for a certificate order to the cPanel Market provider.",
        "operationId": "Market-request_ssl_certificates",
        "parameters": [
          {
            "description": "The access token for the session to the cPanel Market provider.",
            "in": "query",
            "name": "access_token",
            "required": true,
            "schema": {
              "example": "725431a1-d5bc-11e5-a28b-8b0e09a93f05",
              "type": "string"
            }
          },
          {
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "price": 6,
                    "product_id": "143",
                    "subject_names": [
                      {
                        "dNSName": "example.com"
                      },
                      {
                        "dNSName": "example.org"
                      }
                    ],
                    "validity_period": [
                      "1, \"year\""
                    ],
                    "vhost_names": [
                      "example.com"
                    ]
                  },
                  "properties": {
                    "price": {
                      "description": "The certificate's price.",
                      "format": "currency",
                      "type": "number"
                    },
                    "product_id": {
                      "description": "The product's ID.",
                      "type": "string"
                    },
                    "subject_names": {
                      "anyOf": [
                        {
                          "description": "HTTP-based DCV only.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        {
                          "description": "DNS-based DCV or HTTP-based DCV.",
                          "items": {
                            "type": "object"
                          },
                          "type": "array"
                        }
                      ],
                      "description": "An array of strings or array of objects containing the certificate's subject names:\n\n**For HTTP-based DCV only:**\n\nUse an array of strings that contains `dNSName` and the domain.\n\nFor example:\n\n`[[\"dNSName\",\"example.com\"],[\"dNSName\",\"example.org\"]]`\n\n**DNS-based DCV or HTTP-based DCV:**\n\nUse an array of objects that consits of:\n\n* `type:dNSName`\n* `name` — The domain name.\n* `dcv_method` — Either the `dns` or `http` value for for DNS-based or HTTP-based Domain Control Validation (DCV).\n\nFor example:\n\n`[{type:“dNSName”,name:“text.example.com”,dcv_method:“dns”},{type:“dNSName”,name:“text.example.com”,dcv_method:“http”}]`\n\n**Note:**\n\n* Custom provider modules that include DNS-based DCV requests **must** use the array of\nobjects format, **not** the array of strings format.\n* This function does **not** automatically include the corresponding `www.` subdomain for each domain\nthat you declare in this parameter.\n* If you wish to order the `www.` subdomain for a domain, you **must** explicitly declare it in an additional\narray or object within the `subject_names` parameter."
                    },
                    "validity_period": {
                      "description": "The period of time the certificate will remain valid.\nThis array consists of a number value and string that represents a unit of time (for example, `year`).",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "vhost_names": {
                      "description": "A comma-separated list of web virtual hosts (vhosts) for which the system will install the certificate.\n\n**Note:**\n\nAn asterisk (`*`) chraracter represents every vhost with which the certificate is compatible.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "product_id",
                    "price",
                    "subject_names",
                    "validity_period"
                  ]
                }
              }
            },
            "description": "A JSON-encoded string that contains the details of the certificate.\n\n**Note:**\n\nTo request multiple certificates, duplicate or increment the parameter name.\nFor example, to request three certificates, use the `certificate` parameter multiple times or use the `certificate-1`,\n`certificate-2`, and `certificate-3` parameters.",
            "in": "query",
            "name": "certificate",
            "required": true
          },
          {
            "description": "The cPanel Market provider's name.",
            "in": "query",
            "name": "provider",
            "required": true,
            "schema": {
              "example": "cPStore",
              "type": "string"
            }
          },
          {
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "countryName": "US",
                    "duns_number": "12-345-6789",
                    "localityName": "City Name",
                    "organizationName": "Company, Inc.",
                    "organizationalUnitName": "Team Company,",
                    "postalCode": 55555,
                    "rep_email_address": "username@example.com",
                    "rep_forename": "First Name",
                    "rep_surname": "Last Name",
                    "rep_telephone": "123-456-7891",
                    "stateOrProvinceName": "ST",
                    "streetAddress": "555 Street Name"
                  },
                  "type": "object"
                }
              }
            },
            "description": "An object containing the required information for an EV or OV certificate. This information depends on the provider of the certificate.\n\n**Note:**\n\nThe function returns this object for OV or EV certificate requests.",
            "in": "query",
            "name": "identity_verification",
            "required": false
          },
          {
            "description": "The URL to send the browser after the user checks out.\n\n**Note:**\n\nThis URL does **not** contain a query string.",
            "in": "query",
            "name": "url_after_checkout",
            "required": false,
            "schema": {
              "example": "http://checkout.example.com",
              "format": "url",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "request_ssl_certificates",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "certificates": {
                              "description": "Information about each certificate in the order.",
                              "properties": {
                                "key_id": {
                                  "description": "The private key's ID.",
                                  "example": "ac90f_639fd_6c236062f0d7a4579a30e01612c4cee0",
                                  "type": "string"
                                },
                                "order_item_id": {
                                  "description": "The ID of the ordered item.",
                                  "example": 12345,
                                  "minimum": 1,
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            },
                            "checkout_url": {
                              "description": "The URL that the cPanel Market provider uses to process payment.",
                              "example": "http://store.example.com/showmethemoney.cgi",
                              "format": "url",
                              "type": "string"
                            },
                            "order_id": {
                              "description": "The order ID that the cPanel Market provider assigned.",
                              "example": 123456,
                              "minimum": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings\ndescribe non-critical failures or other problematic conditions\nnoted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Request SSL certificate order",
        "tags": [
          "Market",
          "SSL Certificates"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output-jsonpretty --user=username Market request_ssl_certificates access_token='725431a1-d5bc-11e5-a28b-8b0e09a93f05' certificate='{\"price\":\"6\",\"product_id\":\"143\",\"subject_names\":[{\"dNSName\":\"example.com\"},{\"dNSName\":\"example.org\"}],\"validity_period\":[\"1, \\\"year\\\"\"],\"vhost_names\":[\"example.com\"]}' provider='cPStore'"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/request_ssl_certificates?access_token=725431a1-d5bc-11e5-a28b-8b0e09a93f05&certificate=%7b%22price%22%3a%226%22%2c%22product_id%22%3a%22143%22%2c%22subject_names%22%3a%5b%7b%22dNSName%22%3a%22example.com%22%7d%2c%7b%22dNSName%22%3a%22example.org%22%7d%5d%2c%22validity_period%22%3a%5b%221%2c%20%5c%22year%5c%22%22%5d%2c%22vhost_names%22%3a%5b%22example.com%22%5d%7d&provider=cPStore"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_request_ssl_certificates.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_request_ssl_certificates.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/request_ssl_certificates/,\n    {\n        'access_token' => '725431a1-d5bc-11e5-a28b-8b0e09a93f05',\n        'certificate' => '{\"price\":\"6\",\"product_id\":\"143\",\"subject_names\":[{\"dNSName\":\"example.com\"},{\"dNSName\":\"example.org\"}],\"validity_period\":[\"1, \\\"year\\\"\"],\"vhost_names\":[\"example.com\"]}',\n        'provider' => 'cPStore',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_request_ssl_certificates.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_request_ssl_certificates.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'request_ssl_certificates',\n    array (\n        'access_token' => '725431a1-d5bc-11e5-a28b-8b0e09a93f05',\n        'certificate' => '{\"price\":\"6\",\"product_id\":\"143\",\"subject_names\":[{\"dNSName\":\"example.com\"},{\"dNSName\":\"example.org\"}],\"validity_period\":[\"1, \\\"year\\\"\"],\"vhost_names\":[\"example.com\"]}',\n        'provider' => 'cPStore',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/Market/set_status_of_pending_queue_items": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sets the status of an item or items in the cPanel Market pending queue.",
        "operationId": "Market-set_status_of_pending_queue_items",
        "parameters": [
          {
            "description": "The ID of the ordered item.\n\n**Note:**\n\nTo set the status for multiple items, duplicate or increment the parameter name. For example, to change the status for three certificates, use the `order_item_id` parameter multiple times or use the `order_item_id-1`, `order_item_id-2`, and `order_item_id-3` parameters.",
            "examples": {
              "multiple": {
                "summary": "Multiple IDs.",
                "value": "order_item_id-1=12345&order_item_id-2=12346&order_item_id-3=12347"
              },
              "multiple-alternative": {
                "summary": "Multiple IDs alternative.",
                "value": "order_item_id=12345&order_item_id=12346&order_item_id=12347"
              },
              "single": {
                "summary": "A single ID.",
                "value": "12345"
              }
            },
            "in": "query",
            "name": "order_item_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The cPanel Market provider's name.",
            "in": "query",
            "name": "provider",
            "required": true,
            "schema": {
              "example": "cPStore",
              "type": "string"
            }
          },
          {
            "description": "The new status of the item in the cPanel Market pending queue.\n\n* `confirmed` — The system confirmed payment for the item with the provider.",
            "in": "query",
            "name": "status",
            "required": true,
            "schema": {
              "enum": [
                "confirmed"
              ],
              "example": "confirmed",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "failure": {
                    "summary": "The function failed.",
                    "value": {
                      "apiversion": 3,
                      "func": "set_status_of_pending_queue_items",
                      "module": "Market",
                      "result": {
                        "data": {
                          "error_type": "EntryDoesNotExist",
                          "order_item_ids": [
                            8675309
                          ]
                        },
                        "errors": [
                          "The order item ID “8675309” does not match any entries in the pending queue."
                        ],
                        "messages": null,
                        "metadata": {},
                        "status": 0,
                        "warnings": null
                      }
                    }
                  },
                  "success": {
                    "summary": "The function succeeded.",
                    "value": {
                      "apiversion": 3,
                      "func": "set_status_of_pending_queue_items",
                      "module": "Market",
                      "result": {
                        "data": null,
                        "errors": null,
                        "messages": null,
                        "metadata": {},
                        "status": 1,
                        "warnings": null
                      }
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_status_of_pending_queue_items",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The function only returns these values if the user or users do **not** have the `order_item_id` item in the cPanel Market pending queue.",
                          "nullable": true,
                          "properties": {
                            "error_type": {
                              "description": "The type of error that the function encountered.\n\n* `EntryDoesNotExist` — The returned `order_item_ids` do not exist in the cPanel Market pending queue for the user.",
                              "enum": [
                                "EntryDoesNotExist"
                              ],
                              "example": "EntryDoesNotExist",
                              "type": "string"
                            },
                            "order_item_ids": {
                              "description": "An array that lists order item IDs which do not exist in the cPanel Market pending queue for the user.",
                              "items": {
                                "example": 8675309,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update status of items in pending queue",
        "tags": [
          "Market",
          "Market Integration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  set_status_of_pending_queue_items \\\n  provider='cPStore' \\\n  order_item_id='12345' \\\n  status='confirmed'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/set_status_of_pending_queue_items?provider=cPStore&order_item_id=12345&status=confirmed"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_set_status_of_pending_queue_items.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_set_status_of_pending_queue_items.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/set_status_of_pending_queue_items/,\n    {\n        'provider' => 'cPStore',\n        'order_item_id' => '12345',\n        'status' => 'confirmed',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_set_status_of_pending_queue_items.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_set_status_of_pending_queue_items.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'set_status_of_pending_queue_items',\n    array (\n        'provider' => 'cPStore',\n        'order_item_id' => '12345',\n        'status' => 'confirmed',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/Market/set_url_after_checkout": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function updates the URL to which a provider sends a user after they check out.",
        "operationId": "Market-set_url_after_checkout",
        "parameters": [
          {
            "description": "The access token for the session to the cPanel Market provider.",
            "in": "query",
            "name": "access_token",
            "required": true,
            "schema": {
              "example": "725431a1-d5bc-11e5-a28b-8b0e09a93f05",
              "type": "string"
            }
          },
          {
            "description": "The order ID that the cPanel Market provider assigned.",
            "in": "query",
            "name": "order_id",
            "required": true,
            "schema": {
              "example": 123456,
              "type": "integer"
            }
          },
          {
            "description": "The cPanel Market provider's name.",
            "in": "query",
            "name": "provider",
            "required": true,
            "schema": {
              "example": "cPStore",
              "type": "string"
            }
          },
          {
            "description": "The URL to send the browser after the user checks out.",
            "in": "query",
            "name": "url_after_checkout",
            "required": true,
            "schema": {
              "example": "http://checkout.example.com",
              "format": "url",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_url_after_checkout",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "error_type": {
                              "description": "Any errors that the function encounters.",
                              "example": "This is an error.",
                              "nullable": true,
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update URL after checkout",
        "tags": [
          "Market",
          "Market Integration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  set_url_after_checkout \\\n  provider='cPStore' \\\n  access_token='725431a1-d5bc-11e5-a28b-8b0e09a93f05' \\\n  order_id='123456' \\\n  url_after_checkout='http://checkout.example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/set_url_after_checkout?provider=cPStore&access_token=725431a1-d5bc-11e5-a28b-8b0e09a93f05&order_id=123456&url_after_checkout=http%3a%2f%2fcheckout.example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_set_url_after_checkout.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_set_url_after_checkout.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/set_url_after_checkout/,\n    {\n        'provider' => 'cPStore',\n        'access_token' => '725431a1-d5bc-11e5-a28b-8b0e09a93f05',\n        'order_id' => '123456',\n        'url_after_checkout' => 'http://checkout.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_set_url_after_checkout.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_set_url_after_checkout.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'set_url_after_checkout',\n    array (\n        'provider' => 'cPStore',\n        'access_token' => '725431a1-d5bc-11e5-a28b-8b0e09a93f05',\n        'order_id' => '123456',\n        'url_after_checkout' => 'http://checkout.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/Market/validate_login_token": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function validates a login token to a cPanel Market provider and returns an access token.",
        "operationId": "Market-validate_login_token",
        "parameters": [
          {
            "description": "The login token for the cPanel Market provider.",
            "in": "query",
            "name": "login_token",
            "required": true,
            "schema": {
              "example": "8675309",
              "type": "string"
            }
          },
          {
            "description": "The name of the cPanel Market provider.",
            "in": "query",
            "name": "provider",
            "required": true,
            "schema": {
              "example": "cPStore",
              "type": "string"
            }
          },
          {
            "description": "The `url_after_login` value that you sent to UAPI's `Market::get_login_url` function.",
            "in": "query",
            "name": "url_after_login",
            "required": true,
            "schema": {
              "example": "http://hostname.example.com/redirectionlocation.cgi?state",
              "format": "url",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "validate_login_token",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Market",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "access_token": {
                              "description": "The access token that returns from the code parameter after you log in.",
                              "example": "8675309",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` Success.\n* `0` Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Validate login token",
        "tags": [
          "Market",
          "Market Integration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Market \\\n  validate_login_token \\\n  provider='cPStore' \\\n  login_token='8675309' \\\n  url_after_login='http://hostname.example.com/redirectionlocation.cgi?state'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Market/validate_login_token?provider=cPStore&login_token=8675309&url_after_login=http%3a%2f%2fhostname.example.com%2fredirectionlocation.cgi%3fstate"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Market_validate_login_token.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Market_validate_login_token.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Market/,\n    q/validate_login_token/,\n    {\n        'provider' => 'cPStore',\n        'login_token' => '8675309',\n        'url_after_login' => 'http://hostname.example.com/redirectionlocation.cgi?state',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Market_validate_login_token.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Market_validate_login_token.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Market',\n    'validate_login_token',\n    array (\n        'provider' => 'cPStore',\n        'login_token' => '8675309',\n        'url_after_login' => 'http://hostname.example.com/redirectionlocation.cgi?state',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/Mime/add_handler": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function creates an Apache MIME type handler for a file extension.\n\n**Important:**\n\nWhen you disable the [Web Server](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Mime-add_handler",
        "parameters": [
          {
            "description": "The file extension.",
            "in": "query",
            "name": "extension",
            "required": true,
            "schema": {
              "example": ".foo",
              "type": "string"
            }
          },
          {
            "description": "The Apache MIME handler.",
            "in": "query",
            "name": "handler",
            "required": true,
            "schema": {
              "example": "txt-foo",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_handler",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "enum": [
                            null
                          ],
                          "example": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add web server MIME type handler",
        "tags": [
          "Mime",
          "Handler Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  add_handler \\\n  extension='.foo' \\\n  handler='txt-foo'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/add_handler?extension=.foo&handler=txt-foo"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_add_handler.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_add_handler.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/add_handler/,\n    {\n        'extension' => '.foo',\n        'handler' => 'txt-foo',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_add_handler.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_add_handler.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'add_handler',\n    array (\n        'extension' => '.foo',\n        'handler' => 'txt-foo',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Mime/add_hotlink": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function adds hotlink protection for a site. Hotlink protection will redirect users to another URL if they navigate to a file with a specified extension, but an allowed URL did not refer them.\n\n**Important:**\n\n  When you disable the [WebServer role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Mime-add_hotlink",
        "parameters": [
          {
            "description": "File types to hotlink protect.\n\n**Note:**\n\nTo protect multiple file types, use a comma-separated list.",
            "examples": {
              "multiple": {
                "summary": "Add hotlink protection for multiple file extensions.",
                "value": "foo,bar"
              },
              "single": {
                "summary": "Add hotlink protection for a single file extension.",
                "value": "foo"
              }
            },
            "in": "query",
            "name": "extensions",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The URL to which the system sends hotlinkers.",
            "in": "query",
            "name": "redirect_url",
            "required": true,
            "schema": {
              "example": "http://redirect.example.com/",
              "format": "url",
              "type": "string"
            }
          },
          {
            "description": "The site to hotlink protect.\n\n**Note:**\n\nTo protect multiple URLs, separate each URL with a newline character.",
            "examples": {
              "multiple": {
                "summary": "Add hotlink protection for multiple sites.",
                "value": "http://example.com/\nhttp://foobar.com/"
              },
              "single": {
                "summary": "Add hotlink protection for a single site.",
                "value": "http://example.com/"
              }
            },
            "in": "query",
            "name": "urls",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Whether the domain allows hotlinks.\n* `1` - Allows.\n* `0` - Does **not** allow.",
            "in": "query",
            "name": "allow_null",
            "required": false,
            "schema": {
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_hotlink",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable hotlink protection",
        "tags": [
          "Mime",
          "Direct Link Protection (Hotlink)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  add_hotlink \\\n  urls='http://example.com/' \\\n  extensions='foo' \\\n  redirect_url='http://redirect.example.com/'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/add_hotlink?urls=http%3a%2f%2fexample.com%2f&extensions=foo&redirect_url=http%3a%2f%2fredirect.example.com%2f"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_add_hotlink.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_add_hotlink.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/add_hotlink/,\n    {\n        'urls' => 'http://example.com/',\n        'extensions' => 'foo',\n        'redirect_url' => 'http://redirect.example.com/',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_add_hotlink.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_add_hotlink.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'add_hotlink',\n    array (\n        'urls' => 'http://example.com/',\n        'extensions' => 'foo',\n        'redirect_url' => 'http://redirect.example.com/',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Mime/add_mime": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function adds a MIME type to Apache.\n\n**Important:**\n\nWhen you disable the [Web Server](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Mime-add_mime",
        "parameters": [
          {
            "description": "The file extension.",
            "in": "query",
            "name": "extension",
            "required": true,
            "schema": {
              "example": ".foo",
              "type": "string"
            }
          },
          {
            "description": "The MIME type.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "example": "text/foo",
              "format": "MIME",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_mime",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "enum": [
                            null
                          ],
                          "example": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add MIME type to web server",
        "tags": [
          "Mime",
          "Mime Type Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  add_mime \\\n  type='text/foo' \\\n  extension='.foo'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/add_mime?type=text%2ffoo&extension=.foo"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_add_mime.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_add_mime.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/add_mime/,\n    {\n        'type' => 'text/foo',\n        'extension' => '.foo',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_add_mime.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_add_mime.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'add_mime',\n    array (\n        'type' => 'text/foo',\n        'extension' => '.foo',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Mime/add_redirect": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function adds a redirect to a domain.\n\n**Important:**\n\n  When you disable the [*Web Server* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Mime-add_redirect",
        "parameters": [
          {
            "description": "The domain from which to redirect.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The URL to which to redirect.",
            "in": "query",
            "name": "redirect",
            "required": true,
            "schema": {
              "example": "http://example.com/",
              "format": "url",
              "type": "string"
            }
          },
          {
            "description": "Whether to redirect all files within a directory to the same\nfilename within the destination directory.\n* `1` - Redirect all files within the directory.\n* `0` - Do **not** redirect all files within the directory.",
            "in": "query",
            "name": "redirect_wildcard",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to redirect domains with or without `www`.\n* `2` - Redirect with `www`.\n* `1` - Redirect without `www`.\n* `0` - Redirect with **and** without `www`.",
            "in": "query",
            "name": "redirect_www",
            "required": false,
            "schema": {
              "default": 0,
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "A specific page from which to redirect.",
            "in": "query",
            "name": "src",
            "required": false,
            "schema": {
              "default": "/",
              "example": "/specific-page",
              "format": "url-path",
              "type": "string"
            }
          },
          {
            "description": "Whether the redirect is temporary.\n * `permanent`\n * `temp`",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "default": "permanent",
              "enum": [
                "permanent",
                "temp"
              ],
              "example": "permanent",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_redirect",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": [
                            "Htaccess Installed"
                          ],
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add redirect to domain",
        "tags": [
          "Mime",
          "Domain Redirection"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  add_redirect \\\n  domain='example.com' \\\n  redirect='http://example.com/'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/add_redirect?domain=example.com&redirect=http%3a%2f%2fexample.com%2f"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_add_redirect.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_add_redirect.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/add_redirect/,\n    {\n        'domain' => 'example.com',\n        'redirect' => 'http://example.com/',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_add_redirect.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_add_redirect.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'add_redirect',\n    array (\n        'domain' => 'example.com',\n        'redirect' => 'http://example.com/',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Mime/delete_handler": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes an Apache MIME type handler.\n\n**Important:**\n\n  When you disable the [WebServer role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Mime-delete_handler",
        "parameters": [
          {
            "description": "The file extension.",
            "in": "query",
            "name": "extension",
            "required": true,
            "schema": {
              "example": ".foo",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_handler",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed: Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove web server MIME type handler",
        "tags": [
          "Mime",
          "Handler Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  delete_handler \\\n  extension='.foo'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/delete_handler?extension=.foo"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_delete_handler.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_delete_handler.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/delete_handler/,\n    {\n        'extension' => '.foo',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_delete_handler.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_delete_handler.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'delete_handler',\n    array (\n        'extension' => '.foo',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Mime/delete_hotlink": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function removes hotlink protection.\n\n**Important:**\n\n  When you disable the [Web Server](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Mime-delete_hotlink",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_hotlink",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {},
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable hotlink protection",
        "tags": [
          "Mime",
          "Direct Link Protection (Hotlink)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  delete_hotlink\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/delete_hotlink"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_delete_hotlink.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_delete_hotlink.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/delete_hotlink/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_delete_hotlink.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_delete_hotlink.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'delete_hotlink'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Mime/delete_mime": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function removes a MIME type from Apache.\n\n**Important:**\n\n  When you disable the [WebServer role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Mime-delete_mime",
        "parameters": [
          {
            "description": "The MIME type.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "example": "text/foo",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_mime",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove MIME type from web server",
        "tags": [
          "Mime",
          "Mime Type Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  delete_mime \\\n  type='text/foo'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/delete_mime?type=text%2ffoo"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_delete_mime.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_delete_mime.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/delete_mime/,\n    {\n        'type' => 'text/foo',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_delete_mime.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_delete_mime.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'delete_mime',\n    array (\n        'type' => 'text/foo',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Mime/delete_redirect": {
      "get": {
        "x-readonly": false,
        "x-rollback": "clean",
        "description": "This function removes a redirect from a domain.\n\n**Important:**\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "Mime-delete_redirect",
        "parameters": [
          {
            "description": "The domain name.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "An argument string that contains the arguments of a `Redirect` or `RedirectMatch` directives.",
            "in": "query",
            "name": "args",
            "required": false,
            "schema": {
              "default": "",
              "example": "redirectme http://redirectme.com/",
              "type": "string"
            }
          },
          {
            "description": "The absolute file path to the document root containing the `.htaccess` file to change.\n\nIf you don't pass this parameter, the system looks up the document root from the `domain` parameter's value.",
            "in": "query",
            "name": "docroot",
            "required": false,
            "schema": {
              "example": "/home/example/public_html/",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "The specific page that redirects visitors.",
            "in": "query",
            "name": "src",
            "required": false,
            "schema": {
              "default": "",
              "example": "redirectpage.html",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_redirect",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove redirect from domain",
        "tags": [
          "Mime",
          "Domain Redirection"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  delete_redirect \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/delete_redirect?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_delete_redirect.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_delete_redirect.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/delete_redirect/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_delete_redirect.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_delete_redirect.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'delete_redirect',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Mime/get_redirect": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves a redirection URL for a domain.",
        "operationId": "Mime-get_redirect",
        "parameters": [
          {
            "description": "The domain's name.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_redirect",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "redirection_enabled": {
                              "description": "Whether the domain redirects to another URL.\n* `1` - Redirects.\n* `0` - Doesn't redirect.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "url": {
                              "description": "The URL to which to the domain redirects.",
                              "example": "http://www.domain.com",
                              "format": "url",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return redirect URL for domain",
        "tags": [
          "Mime",
          "Domain Redirection"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  get_redirect \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/get_redirect?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_get_redirect.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_get_redirect.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/get_redirect/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_get_redirect.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_get_redirect.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'get_redirect',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 88"
      }
    },
    "/Mime/list_handlers": {
      "get": {
        "x-readonly": true,
        "description": "This function lists all of Apache's MIME handlers.\n\n**Important:**\n\n  When you disable the [WebServer role](https://go.cpanel.net/serverroles),\n  the system **disables** this function.",
        "operationId": "Mime-list_handlers",
        "parameters": [
          {
            "description": "Whether to retrieve system or user handlers.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "enum": [
                "system",
                "user"
              ],
              "example": "user",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_handlers",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "extension": {
                                "description": "The handler's extension. A valid file extension.",
                                "example": ".foo",
                                "type": "string"
                              },
                              "handler": {
                                "description": "The handler's name. A valid string.",
                                "example": "text-foo",
                                "type": "string"
                              },
                              "origin": {
                                "description": "The handler's owner.\n- system\n- user",
                                "example": "user",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return web server's MIME handlers",
        "tags": [
          "Mime",
          "Handler Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  list_handlers \\\n  type='user'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/list_handlers?type=user"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_list_handlers.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_list_handlers.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/list_handlers/,\n    {\n        'type' => 'user',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_list_handlers.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_list_handlers.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'list_handlers',\n    array (\n        'type' => 'user',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Mime/list_hotlinks": {
      "get": {
        "x-readonly": true,
        "description": "This function lists domains with hotlink protection.\n\n**Important:**\n\nWhen you **disable** the [Web Server](https://go.cpanel.net/serverroles) role, the system **disables** this function.",
        "operationId": "Mime-list_hotlinks",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_hotlinks",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "allow_null": {
                              "description": "Whether the domain allows hotlinks from an empty or null referral URL.\n* `1` - Allows hotlinks.\n* `0` - Does not allow hotlinks.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "extensions": {
                              "description": "A comma-separated list of file types to hotlink protect.",
                              "example": "jpg,jpeg,gif,png,bmp",
                              "type": "string"
                            },
                            "redirect_url": {
                              "description": "The URL to which to send hotlinkers.",
                              "example": "http://redirect.example.com/",
                              "format": "url",
                              "type": "string"
                            },
                            "state": {
                              "description": "Whether hotlink protection is enabled.\n\n* `enabled`\n* `disabled`",
                              "enum": [
                                "enabled",
                                "disabled"
                              ],
                              "example": "disabled",
                              "type": "string"
                            },
                            "urls": {
                              "description": "An array of the domains with hotlink protection.",
                              "items": {
                                "example": "http://example.com/",
                                "format": "url",
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return domains with hotlink protection",
        "tags": [
          "Mime",
          "Direct Link Protection (Hotlink)"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  list_hotlinks\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/list_hotlinks"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_list_hotlinks.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_list_hotlinks.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/list_hotlinks/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_list_hotlinks.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_list_hotlinks.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'list_hotlinks'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Mime/list_mime": {
      "get": {
        "x-readonly": true,
        "description": "This function lists all of Apache's MIME types.\n\n**Note:**\n\n  This function does **not** list PHP versions with MIME types when the user or domain enables PHP-FPM. The system displays **only** custom MIME types.\n\n**Important:**\n\n  When you disable the [Web Server role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Mime-list_mime",
        "parameters": [
          {
            "description": "The MIME types to list.\n* `system` — List the Apache system MIME types.\n* `user` — List the Apache user MIME types.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "enum": [
                "system",
                "user"
              ],
              "example": "user",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_mime",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "extension": {
                                "description": "The file extension.",
                                "example": ".foo",
                                "type": "string"
                              },
                              "origin": {
                                "description": "The handler's owner.\n*  `system`\n*  `user`",
                                "enum": [
                                  "system",
                                  "user"
                                ],
                                "example": "user",
                                "type": "string"
                              },
                              "type": {
                                "description": "The MIME type.",
                                "example": "application/foo",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* 1 - Success\n* 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return web server's MIME types",
        "tags": [
          "Mime",
          "Mime Type Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  list_mime \\\n  type='user'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/list_mime?type=user"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_list_mime.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_list_mime.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/list_mime/,\n    {\n        'type' => 'user',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_list_mime.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_list_mime.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'list_mime',\n    array (\n        'type' => 'user',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Mime/list_redirects": {
      "get": {
        "x-readonly": true,
        "description": "This function lists the redirects in an account's .htaccess files.\n\n**Important:**\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "Mime-list_redirects",
        "parameters": [
          {
            "description": "The string with which to filter results.\n\n** Note: **\n\nThis will **only** return results that match the `destination` parameter **exactly**.",
            "in": "query",
            "name": "destination",
            "required": false,
            "schema": {
              "example": "http://example.tld",
              "type": "string"
            }
          },
          {
            "description": "A Perl regular expression that filters the results. The system matches the regular expression to the `sourceurl` return value.",
            "in": "query",
            "name": "regex",
            "required": false,
            "schema": {
              "example": "\"^[a-z0-9_-]{6,18}$\"",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_redirects",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "destination": {
                                "description": "The redirect's destination URL.",
                                "example": "http://redirect.example.com/",
                                "format": "url",
                                "type": "string"
                              },
                              "displaydomain": {
                                "description": "The domain to redirect.\n\n* `ALL` is the only possible value.",
                                "enum": [
                                  "ALL"
                                ],
                                "example": "ALL",
                                "type": "string"
                              },
                              "displaysourceurl": {
                                "description": "The path to the file within the domain to test, relative to the home directory.",
                                "example": "/marceau.html",
                                "format": "url-path",
                                "type": "string"
                              },
                              "docroot": {
                                "description": "The absolute file path to the source domain's document root.",
                                "example": "/home/example/public_html",
                                "format": "path",
                                "type": "string"
                              },
                              "domain": {
                                "description": "The domain to redirect.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "kind": {
                                "description": "The kind of redirect.\n\n* `rewrite` — The request sent a redirect to another path on the server.\n* `redirect` — The request sent a redirect for the URL.\n* `redirectmatch` — The request sent a redirect based on a regular\nexpression match of the URL.",
                                "enum": [
                                  "rewrite",
                                  "redirect",
                                  "redirectmatch"
                                ],
                                "example": "rewrite",
                                "type": "string"
                              },
                              "matchwww": {
                                "description": "Whether the redirect matches `www.` subdomains.\n* `1` — Matches.\n* `0` — Does not match.",
                                "enum": [
                                  1,
                                  0
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "matchwww_text": {
                                "description": "Whether the [*Redirect with or without www.* option](https://go.cpanel.net/Redirects) is active.\n\n* `checked` — The *Redirect with or without www.* option is active.",
                                "enum": [
                                  "checked"
                                ],
                                "example": "checked",
                                "type": "string"
                              },
                              "opts": {
                                "description": "The options that the function passes to Apache as part of\nthe [Rewrite rule](https://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_l).",
                                "example": "L",
                                "type": "string"
                              },
                              "source": {
                                "description": "The path to the file within the domain to test, relative to the home directory.",
                                "example": "/marceau.html",
                                "format": "url-path",
                                "type": "string"
                              },
                              "sourceurl": {
                                "description": "The path to the file within the domain to test, relative to the home directory.",
                                "example": "/marceau.html",
                                "format": "url-path",
                                "type": "string"
                              },
                              "statuscode": {
                                "description": "The [HTTP Status Code](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) of the request",
                                "example": "301",
                                "type": "string"
                              },
                              "targeturl": {
                                "description": "The redirect's destination URL.",
                                "example": "http://redirect.example.com/",
                                "format": "url",
                                "type": "string"
                              },
                              "type": {
                                "description": "Whether the redirect is permanent or temporary.\n\n* `permanent` — The redirect is permanent.\n* `temporary` — The redirect is temporary.",
                                "enum": [
                                  "permanent",
                                  "temporary"
                                ],
                                "example": "permanent",
                                "type": "string"
                              },
                              "urldomain": {
                                "description": "The domain to redirect.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "wildcard": {
                                "description": "Whether the wildcard subdomains match.\n\n* `1` — Matches.\n* `0` — Does **not** match.",
                                "enum": [
                                  1,
                                  0
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "wildcard_text": {
                                "description": "Whether the [*Wild Card Redirect*](https://go.cpanel.net/Redirects) option is active.\n\n* `checked` — The *Wild Card Redirect* option is active.",
                                "enum": [
                                  "checked"
                                ],
                                "example": "checked",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return .htaccess files' redirects",
        "tags": [
          "Mime",
          "Domain Redirection"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  list_redirects\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/list_redirects"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_list_redirects.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_list_redirects.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/list_redirects/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_list_redirects.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_list_redirects.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'list_redirects'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Mime/redirect_info": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves redirect information for a URL or `** All Public Domains **`.\n\n**Important:**\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Mime-redirect_info",
        "parameters": [
          {
            "description": "The domain for which to retrieve redirector information.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The URL for which to retrieve redirector information.",
            "in": "query",
            "name": "url",
            "required": true,
            "schema": {
              "example": "http://redirect.example.com",
              "format": "url",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "redirect_info",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mime",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "domain": {
                              "anyOf": [
                                {
                                  "description": "The redirect's domain.",
                                  "format": "domain",
                                  "type": "string"
                                },
                                {
                                  "description": "** All Public Domains **",
                                  "type": "string"
                                }
                              ],
                              "description": "The redirect's domain, or `** All Public Domains **`.\n\n* A valid domain.\n* `** All Public Domains **`",
                              "example": "example.com",
                              "type": "string"
                            },
                            "url": {
                              "description": "The redirect's URL.",
                              "example": "http://redirect.example.com",
                              "format": "url",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return redirect information",
        "tags": [
          "Mime",
          "Handler Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mime \\\n  redirect_info \\\n  url='http://redirect.example.com' \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mime/redirect_info?url=http%3a%2f%2fredirect.example.com&domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mime_redirect_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mime_redirect_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mime/,\n    q/redirect_info/,\n    {\n        'url' => 'http://redirect.example.com',\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mime_redirect_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mime_redirect_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mime',\n    'redirect_info',\n    array (\n        'url' => 'http://redirect.example.com',\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42",
        "x-cpanel-internal-only": false
      }
    },
    "/ModSecurity/disable_all_domains": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function disables ModSecurity™ on a cPanel account's domains.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "ModSecurity-disable_all_domains",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disable_all_domains",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ModSecurity",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": [
                            {
                              "dependencies": [
                                "dallas.com"
                              ],
                              "domain": "dallas.example.com",
                              "enabled": 0,
                              "searchhint": "dallas.com",
                              "type": "sub"
                            },
                            {
                              "dependencies": [
                                "arkansas.com",
                                "kansas.com",
                                "nevada.com",
                                "newmexico.com",
                                "texas.com"
                              ],
                              "domain": "example.com",
                              "enabled": 0,
                              "searchhint": "arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com",
                              "type": "main"
                            },
                            {
                              "dependencies": [
                                "galveston.com"
                              ],
                              "domain": "galveston.example.com",
                              "enabled": 0,
                              "searchhint": "galveston.com",
                              "type": "sub"
                            },
                            {
                              "dependencies": [
                                "houston.com"
                              ],
                              "domain": "houston.example.com",
                              "enabled": 0,
                              "searchhint": "houston.com",
                              "type": "sub"
                            },
                            {
                              "dependencies": [
                                "neworleans.com"
                              ],
                              "domain": "neworleans.example.com",
                              "enabled": 0,
                              "searchhint": "neworleans.com",
                              "type": "sub"
                            },
                            {
                              "dependencies": [
                                "sanantonio.com"
                              ],
                              "domain": "sanantonio.example.com",
                              "enabled": 0,
                              "searchhint": "sanantonio.com",
                              "type": "sub"
                            }
                          ],
                          "items": {
                            "properties": {
                              "dependencies": {
                                "description": "An array of domains that your changes to a selected domain affect.",
                                "example": [
                                  "arkansas.com",
                                  "kansas.com",
                                  "nevada.com",
                                  "newmexico.com",
                                  "texas.com"
                                ],
                                "items": {
                                  "format": "domain",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "domain": {
                                "description": "The cPanel account's domain.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "enabled": {
                                "description": "Whether ModSecurity is enabled on the account.\n* `1` - Enabled.\n* `0` - Disabled.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "exception": {
                                "description": "An exception error message. The function only returns this value if an error occurs.",
                                "example": "An error occurred during the userdata update for domain “example.com”.",
                                "type": "string"
                              },
                              "searchhint": {
                                "description": "A comma-separated list of domain-related search terms.",
                                "example": "arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com",
                                "type": "string"
                              },
                              "type": {
                                "description": "The domain type.\n* `main` - A main domain.\n* `sub` - A subdomain.",
                                "enum": [
                                  "main",
                                  "sub"
                                ],
                                "example": "main",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable ModSecurity for all domains",
        "tags": [
          "ModSecurity"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ModSecurity \\\n  disable_all_domains\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ModSecurity/disable_all_domains"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ModSecurity_disable_all_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ModSecurity_disable_all_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ModSecurity/,\n    q/disable_all_domains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ModSecurity_disable_all_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ModSecurity_disable_all_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ModSecurity',\n    'disable_all_domains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.46"
      }
    },
    "/ModSecurity/disable_domains": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function disables ModSecurity™ on specified domains.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "ModSecurity-disable_domains",
        "parameters": [
          {
            "description": "A comma-separated list of domains that the cPanel account owns.\n\n**Important:**\n\nThe authenticated cPanel account **must** own these domains.",
            "in": "query",
            "name": "domains",
            "required": true,
            "schema": {
              "example": "example.com,dallas.example.com,galveston.example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disable_domains",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ModSecurity",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "oneOf": [
                            {
                              "example": [
                                {
                                  "dependencies": [
                                    "dallas.com"
                                  ],
                                  "domain": "dallas.example.com",
                                  "enabled": 0,
                                  "searchhint": "dallas.com",
                                  "type": "sub"
                                },
                                {
                                  "dependencies": [
                                    "arkansas.com",
                                    "kansas.com",
                                    "nevada.com",
                                    "newmexico.com",
                                    "texas.com"
                                  ],
                                  "domain": "example.com",
                                  "enabled": 0,
                                  "searchhint": "arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com",
                                  "type": "main"
                                },
                                {
                                  "dependencies": [
                                    "galveston.com"
                                  ],
                                  "domain": "galveston.example.com",
                                  "enabled": 0,
                                  "searchhint": "galveston.com",
                                  "type": "sub"
                                }
                              ],
                              "items": {
                                "properties": {
                                  "dependencies": {
                                    "description": "An array of domains that your changes to a selected domain affect.",
                                    "example": [
                                      "arkansas.com",
                                      "kansas.com",
                                      "nevada.com",
                                      "newmexico.com",
                                      "texas.com"
                                    ],
                                    "items": {
                                      "format": "domain",
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "domain": {
                                    "description": "The cPanel account's domain.",
                                    "example": "example.com",
                                    "format": "domain",
                                    "type": "string"
                                  },
                                  "enabled": {
                                    "description": "Whether ModSecurity is enabled on the domain.\n* `1` - Enabled.\n* `0` - Disabled.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "exception": {
                                    "description": "An exception error message. The function only returns this value if an error occurs.",
                                    "example": "An error occurred during the userdata update for domain “example.com”.",
                                    "type": "string"
                                  },
                                  "searchhint": {
                                    "description": "A comma-separated list of domain-related search terms.",
                                    "example": "arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com",
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The domain type.\n* `main` - A main domain.\n* `sub` - A subdomain.",
                                    "enum": [
                                      "main",
                                      "sub"
                                    ],
                                    "example": "main",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            },
                            {
                              "properties": {
                                "no_domains_provided": {
                                  "description": "Indicates caller error on API call.",
                                  "enum": [
                                    1
                                  ],
                                  "example": 1,
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            },
                            {
                              "properties": {
                                "invalid_domains": {
                                  "description": "List of invalid domains provided by caller.",
                                  "example": [
                                    "example.invalid"
                                  ],
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "invalid_domains_provided": {
                                  "description": "Indicates caller error on API call.",
                                  "enum": [
                                    1
                                  ],
                                  "example": 1,
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            }
                          ]
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable ModSecurity for selected domains",
        "tags": [
          "ModSecurity"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ModSecurity \\\n  disable_domains \\\n  domains='example.com,dallas.example.com,galveston.example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ModSecurity/disable_domains?domains=example.com%2cdallas.example.com%2cgalveston.example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ModSecurity_disable_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ModSecurity_disable_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ModSecurity/,\n    q/disable_domains/,\n    {\n        'domains' => 'example.com,dallas.example.com,galveston.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ModSecurity_disable_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ModSecurity_disable_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ModSecurity',\n    'disable_domains',\n    array (\n        'domains' => 'example.com,dallas.example.com,galveston.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.46"
      }
    },
    "/ModSecurity/enable_all_domains": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables ModSecurity™ on a cPanel account's domains.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://go.cpanel.net/serverroles#roles), the system **disables** this function",
        "operationId": "ModSecurity-enable_all_domains",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "enable_all_domains",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ModSecurity",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": [
                            {
                              "dependencies": [
                                "dallas.com"
                              ],
                              "domain": "dallas.example.com",
                              "enabled": 1,
                              "searchhint": "dallas.com",
                              "type": "sub"
                            },
                            {
                              "dependencies": [
                                "arkansas.com",
                                "kansas.com",
                                "nevada.com",
                                "newmexico.com",
                                "texas.com"
                              ],
                              "domain": "example.com",
                              "enabled": 1,
                              "searchhint": "arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com",
                              "type": "main"
                            },
                            {
                              "dependencies": [
                                "galveston.com"
                              ],
                              "domain": "galveston.example.com",
                              "enabled": 1,
                              "searchhint": "galveston.com",
                              "type": "sub"
                            },
                            {
                              "dependencies": [
                                "houston.com"
                              ],
                              "domain": "houston.example.com",
                              "enabled": 1,
                              "searchhint": "houston.com",
                              "type": "sub"
                            },
                            {
                              "dependencies": [
                                "neworleans.com"
                              ],
                              "domain": "neworleans.example.com",
                              "enabled": 1,
                              "searchhint": "neworleans.com",
                              "type": "sub"
                            },
                            {
                              "dependencies": [
                                "sanantonio.com"
                              ],
                              "domain": "sanantonio.example.com",
                              "enabled": 1,
                              "searchhint": "sanantonio.com",
                              "type": "sub"
                            }
                          ],
                          "items": {
                            "properties": {
                              "dependencies": {
                                "description": "An array of domains that your changes to a selected domain affect.",
                                "example": [
                                  "arkansas.com",
                                  "kansas.com",
                                  "nevada.com",
                                  "newmexico.com",
                                  "texas.com"
                                ],
                                "items": {
                                  "format": "domain",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "domain": {
                                "description": "The cPanel account's domain.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "enabled": {
                                "description": "Whether ModSecurity is enabled on the account.\n* `1` - Enabled.\n* `0` - Disabled.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "exception": {
                                "description": "An exception error message. The function only returns this value if an error occurs.",
                                "example": "An error occurred during the userdata update for domain “example.com”.",
                                "type": "string"
                              },
                              "searchhint": {
                                "description": "A comma-separated list of domain-related search terms.",
                                "example": "arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com",
                                "type": "string"
                              },
                              "type": {
                                "description": "The domain type.\n* `main` - A main domain.\n* `sub` - A subdomain.",
                                "enum": [
                                  "main",
                                  "sub"
                                ],
                                "example": "main",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable ModSecurity for all domains",
        "tags": [
          "ModSecurity"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ModSecurity \\\n  enable_all_domains\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ModSecurity/enable_all_domains"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ModSecurity_enable_all_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ModSecurity_enable_all_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ModSecurity/,\n    q/enable_all_domains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ModSecurity_enable_all_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ModSecurity_enable_all_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ModSecurity',\n    'enable_all_domains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.46"
      }
    },
    "/ModSecurity/enable_domains": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables ModSecurity™ for specified domains.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "ModSecurity-enable_domains",
        "parameters": [
          {
            "description": "A comma-separated list of domains for which to enable ModSecurity.\n\n**Important:**\n\nThe authenticated cPanel account **must** own these domains.",
            "in": "query",
            "name": "domains",
            "required": true,
            "schema": {
              "example": "example.com,dallas.example.com,galveston.example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "enable_domains",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ModSecurity",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "oneOf": [
                            {
                              "example": [
                                {
                                  "dependencies": [
                                    "dallas.com"
                                  ],
                                  "domain": "dallas.example.com",
                                  "enabled": 1,
                                  "searchhint": "dallas.com",
                                  "type": "sub"
                                },
                                {
                                  "dependencies": [
                                    "arkansas.com",
                                    "kansas.com",
                                    "nevada.com",
                                    "newmexico.com",
                                    "texas.com"
                                  ],
                                  "domain": "example.com",
                                  "enabled": 1,
                                  "searchhint": "arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com",
                                  "type": "main"
                                },
                                {
                                  "dependencies": [
                                    "galveston.com"
                                  ],
                                  "domain": "galveston.example.com",
                                  "enabled": 1,
                                  "searchhint": "galveston.com",
                                  "type": "sub"
                                }
                              ],
                              "items": {
                                "properties": {
                                  "dependencies": {
                                    "description": "An array of domains that your changes to a selected domain affect.",
                                    "example": [
                                      "arkansas.com",
                                      "kansas.com",
                                      "nevada.com",
                                      "newmexico.com",
                                      "texas.com"
                                    ],
                                    "items": {
                                      "format": "domain",
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "domain": {
                                    "description": "The cPanel account's domain.",
                                    "example": "example.com",
                                    "format": "domain",
                                    "type": "string"
                                  },
                                  "enabled": {
                                    "description": "Whether ModSecurity is enabled on the domain.\n* `1` - Enabled.\n* `0` - Disabled.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "exception": {
                                    "description": "An exception error message. The function only returns this value if an error occurs.",
                                    "example": "An error occurred during the userdata update for domain “example.com”.",
                                    "type": "string"
                                  },
                                  "searchhint": {
                                    "description": "A comma-separated list of domain-related search terms.",
                                    "example": "arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com",
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The domain type.\n* `main` - A main domain.\n* `sub` - A subdomain.",
                                    "enum": [
                                      "main",
                                      "sub"
                                    ],
                                    "example": "main",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            },
                            {
                              "properties": {
                                "no_domains_provided": {
                                  "description": "Indicates caller error on API call.",
                                  "enum": [
                                    1
                                  ],
                                  "example": 1,
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            },
                            {
                              "properties": {
                                "invalid_domains": {
                                  "description": "List of invalid domains provided by caller.",
                                  "example": [
                                    "example.invalid"
                                  ],
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "invalid_domains_provided": {
                                  "description": "Indicates caller error on API call.",
                                  "enum": [
                                    1
                                  ],
                                  "example": 1,
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            }
                          ]
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable ModSecurity for selected domains",
        "tags": [
          "ModSecurity"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ModSecurity \\\n  enable_domains \\\n  domains='example.com,dallas.example.com,galveston.example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ModSecurity/enable_domains?domains=example.com%2cdallas.example.com%2cgalveston.example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ModSecurity_enable_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ModSecurity_enable_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ModSecurity/,\n    q/enable_domains/,\n    {\n        'domains' => 'example.com,dallas.example.com,galveston.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ModSecurity_enable_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ModSecurity_enable_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ModSecurity',\n    'enable_domains',\n    array (\n        'domains' => 'example.com,dallas.example.com,galveston.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.46"
      }
    },
    "/ModSecurity/has_modsecurity_installed": {
      "get": {
        "x-readonly": true,
        "description": "This function checks whether ModSecurity™ is installed on a server.\n\n**Important:**\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "ModSecurity-has_modsecurity_installed",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "has_modsecurity_installed",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ModSecurity",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "installed": {
                              "description": "Whether ModSecurity is installed on the server.\n* `1` - Installed.\n* `0` - Not installed.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return ModSecurity installation status",
        "tags": [
          "ModSecurity"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ModSecurity \\\n  has_modsecurity_installed\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ModSecurity/has_modsecurity_installed"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ModSecurity_has_modsecurity_installed.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ModSecurity_has_modsecurity_installed.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ModSecurity/,\n    q/has_modsecurity_installed/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ModSecurity_has_modsecurity_installed.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ModSecurity_has_modsecurity_installed.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ModSecurity',\n    'has_modsecurity_installed'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.46"
      }
    },
    "/ModSecurity/list_domains": {
      "get": {
        "x-readonly": true,
        "description": "This function returns ModSecurity's™ status for a cPanel account's domains.\n\n**Important:**\n\nWhen you disable the [WebServer role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "ModSecurity-list_domains",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_domains",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ModSecurity",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": [
                            {
                              "dependencies": [
                                "dallas.com"
                              ],
                              "domain": "dallas.example.com",
                              "enabled": 1,
                              "searchhint": "dallas.com",
                              "type": "sub"
                            },
                            {
                              "dependencies": [
                                "arkansas.com",
                                "kansas.com",
                                "nevada.com",
                                "newmexico.com",
                                "texas.com"
                              ],
                              "domain": "example.com",
                              "enabled": 1,
                              "searchhint": "arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com",
                              "type": "main"
                            },
                            {
                              "dependencies": [
                                "galveston.com"
                              ],
                              "domain": "galveston.example.com",
                              "enabled": 1,
                              "searchhint": "galveston.com",
                              "type": "sub"
                            },
                            {
                              "dependencies": [
                                "houston.com"
                              ],
                              "domain": "houston.example.com",
                              "enabled": 0,
                              "searchhint": "houston.com",
                              "type": "sub"
                            },
                            {
                              "dependencies": [
                                "neworleans.com"
                              ],
                              "domain": "neworleans.example.com",
                              "enabled": 0,
                              "searchhint": "neworleans.com",
                              "type": "sub"
                            },
                            {
                              "dependencies": [
                                "sanantonio.com"
                              ],
                              "domain": "sanantonio.example.com",
                              "enabled": 0,
                              "searchhint": "sanantonio.com",
                              "type": "sub"
                            }
                          ],
                          "items": {
                            "properties": {
                              "dependencies": {
                                "description": "An array of domains that your changes to a selected domain affect.",
                                "example": [
                                  "arkansas.com",
                                  "kansas.com",
                                  "nevada.com",
                                  "newmexico.com",
                                  "texas.com"
                                ],
                                "items": {
                                  "format": "domain",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "domain": {
                                "description": "The cPanel account's domain.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "enabled": {
                                "description": "Whether ModSecurity is enabled for the account.\n* `1` - Enabled.\n* `0` - Disabled.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "searchhint": {
                                "description": "A comma-separated list of domain-related search terms.",
                                "example": "arkansas.com,kansas.com,nevada.com,newmexico.com,texas.com",
                                "type": "string"
                              },
                              "type": {
                                "description": "The domain type.\n* `main` - A main domain.\n* `sub` - A subdomain.",
                                "enum": [
                                  "main",
                                  "sub"
                                ],
                                "example": "main",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "modsec": {
                              "properties": {
                                "total_disabled": {
                                  "description": "The total number of disabled entries.",
                                  "example": 3,
                                  "type": "integer"
                                },
                                "total_enabled": {
                                  "description": "The total number of enabled entries.",
                                  "example": 3,
                                  "type": "integer"
                                }
                              }
                            },
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return ModSecurity domains' status",
        "tags": [
          "ModSecurity"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ModSecurity \\\n  list_domains\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ModSecurity/list_domains"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ModSecurity_list_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/ModSecurity_list_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ModSecurity/,\n    q/list_domains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ModSecurity_list_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/ModSecurity_list_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ModSecurity',\n    'list_domains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.46"
      }
    },
    "/Mysql/add_host": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function authorizes a remote MySQL® host to access the account's databases.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles)\n and remote MySQL is **not** already configured,\n the system **disables** this function.",
        "operationId": "Mysql-add_host",
        "parameters": [
          {
            "description": "The remote MySQL server's hostname or IP address.\n\nYou may use the following IP address formats:\n\n* `192.168.1.6` — IP address.\n* `192.168.%.%` — Range with the percent (%) symbol as a wildcard.\n* `192.168.0.0/16` — Range in CIDR format.",
            "example": "192.168.1.6",
            "in": "query",
            "name": "host",
            "required": true,
            "schema": {
              "oneOf": [
                {
                  "example": "192.168.1.6",
                  "format": "ipv4",
                  "type": "string"
                },
                {
                  "example": "remote.example.com",
                  "format": "domain",
                  "type": "string"
                },
                {
                  "description": "IP address range with the percent (%) symbol as a wildcard.",
                  "example": "192.168.%.%",
                  "type": "string"
                },
                {
                  "description": "IP address range in CIDR format.",
                  "example": "192.168.0.0/16",
                  "type": "string"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_host",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API.\nWarnings describe non-critical failures or\n other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable remote MySQL host access",
        "tags": [
          "Mysql",
          "Remote Databases"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  add_host \\\n  host='192.168.1.6'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/add_host?host=192.168.1.6"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_add_host.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_add_host.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/add_host/,\n    {\n        'host' => '192.168.1.6',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_add_host.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_add_host.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'add_host',\n    array (\n        'host' => '192.168.1.6',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/Mysql/add_host_note": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function adds a note about a remote MySQL® server.\n\n**Important:**\n\n* If you attempt to add a note to an unauthorized remote MySQL server, the function will fail.\n* When you **disable** the [MySQL role](https://go.cpanel.net/serverroles), the system disables this function.",
        "operationId": "Mysql-add_host_note",
        "parameters": [
          {
            "description": "The remote MySQL server's hostname or IP address.\n\nYou may use the following IP address formats:\n\n* `192.168.1.6` — IP address.\n* `192.168.%.%` — Range with the percent (%) symbol as a wildcard.\n* `192.168.0.0/16` — Range in CIDR format.",
            "example": "192.168.1.6",
            "in": "query",
            "name": "host",
            "required": true,
            "schema": {
              "oneOf": [
                {
                  "example": "192.168.1.6",
                  "format": "ipv4",
                  "type": "string"
                },
                {
                  "example": "remote.example.com",
                  "format": "domain",
                  "type": "string"
                },
                {
                  "description": "IP address range with the percent (%) symbol as a wildcard.",
                  "example": "192.168.%.%",
                  "type": "string"
                },
                {
                  "description": "IP address range in CIDR format.",
                  "example": "192.168.0.0/16",
                  "type": "string"
                }
              ]
            }
          },
          {
            "description": "note that describes the remote MySQL server.",
            "in": "query",
            "name": "note",
            "required": true,
            "schema": {
              "example": "A remote mysql server for storing my data",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_host_note",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API.\nWarnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Add remote MySQL host note",
        "tags": [
          "Mysql",
          "Remote Databases"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  add_host_note \\\n  host='192.168.1.6' \\\n  note='A remote mysql server for storing my data'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/add_host_note?host=192.168.1.6&note=A%20remote%20mysql%20server%20for%20storing%20my%20data"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_add_host_note.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_add_host_note.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/add_host_note/,\n    {\n        'host' => '192.168.1.6',\n        'note' => 'A remote mysql server for storing my data',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_add_host_note.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_add_host_note.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'add_host_note',\n    array (\n        'host' => '192.168.1.6',\n        'note' => 'A remote mysql server for storing my data',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 74"
      }
    },
    "/Mysql/check_database": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function checks for errors in all of the tables in a MySQL® database.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles) **and**\nremote MySQL is **not** already configured, the system **disables** this function.",
        "operationId": "Mysql-check_database",
        "parameters": [
          {
            "description": "The database's name.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "example_test",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "check_database",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array that contains a response message for each of a database's tables in sequence.",
                          "items": {
                            "properties": {
                              "msg_text": {
                                "description": "The message's contents.",
                                "example": "OK",
                                "type": "string"
                              },
                              "msg_type": {
                                "description": "The type of message.\n* `status`\n* `error`\n* `info`\n* `note`\n* `warning`\n\n**Note:**\n\nFor more information, read [MySQL's `CHECK TABLE` documentation](http://dev.mysql.com/doc/refman/5.7/en/check-table.html).",
                                "enum": [
                                  "status",
                                  "error",
                                  "info",
                                  "note",
                                  "warning"
                                ],
                                "example": "status",
                                "type": "string"
                              },
                              "table": {
                                "description": "The table's name.",
                                "example": "table1",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API.\nWarnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Validate MySQL database integrity",
        "tags": [
          "Mysql",
          "Database Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  check_database \\\n  name='example_test'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/check_database?name=example_test"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_check_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_check_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/check_database/,\n    {\n        'name' => 'example_test',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_check_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_check_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'check_database',\n    array (\n        'name' => 'example_test',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/Mysql/create_database": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a MySQL® database.\n\n**Important:**\n\n  When you disable the [MySQL/MariaDB role](https://go.cpanel.net/howtouseserverprofiles#roles) **and** remote MySQL is **not** already configured, the system **disables** this function.",
        "operationId": "Mysql-create_database",
        "parameters": [
          {
            "description": "The new database's name.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "newdb",
              "type": "string"
            }
          },
          {
            "description": "The desired prefix size.",
            "in": "query",
            "name": "prefix-size",
            "required": false,
            "schema": {
              "default": 16,
              "enum": [
                8,
                16
              ],
              "example": 16,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "create_database",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create MySQL database",
        "tags": [
          "Mysql",
          "Database Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  create_database \\\n  name='newdb'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/create_database?name=newdb"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_create_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_create_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/create_database/,\n    {\n        'name' => 'newdb',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_create_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_create_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'create_database',\n    array (\n        'name' => 'newdb',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Mysql/create_user": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a MySQL® database user.\n\n**Important:**\n\nWhen you **disable** the [MySQL role](https://go.cpanel.net/serverroles) and remote MySQL is not already configured, the system disables this function.",
        "operationId": "Mysql-create_user",
        "parameters": [
          {
            "description": "A valid database username.\n\nImportant:\n====\n\nTo learn more about database username limits, check your database type:\n\nMySQL 5.6\n----\n\nMySQL version 5.6 limits the database username to 16 characters. The server uses the first nine characters of this limit for the database prefix. The database prefix uses the cPanel account's username and an underscore (`_`). The server only applies the first eight characters of the cPanel account's username.\n\nFor example:\n\n* A `db_` database prefix allows MySQL usernames of up to 13 characters.\n* An `example_` database prefix allows MySQL usernames of up to eight characters.\n\nMySQL 5.7+\n----\n\nMySQL versions 5.7 and later limit the database username to 32 characters. The server uses the first nine characters of this limit for the database prefix. The database prefix uses the cPanel account's username and an underscore (`_`). The server only applies the first eight characters of the cPanel account's username.\n\nFor example:\n\n* A `db_` database prefix allows MySQL usernames of up to 29 characters.\n* An `example_` database prefix allows MySQL usernames of up to 24 characters.\n\nMariaDB\n----\n\nMariaDB limits the database username to 47 characters. The server uses the first nine characters of this limit for the database prefix. The database prefix uses the cPanel account's username and an underscore (`_`). The server only applies the first eight characters of the cPanel account's username.\n\nFor example:\n\n* A `db_` database prefix allows MariaDB usernames of up to 44 characters.\n* An `example_` database prefix allows MariaDB usernames of up to 39 characters.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "dbuser",
              "type": "string"
            }
          },
          {
            "description": "The new user's password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "12345luggage",
              "type": "string"
            }
          },
          {
            "description": "The desired prefix size.",
            "in": "query",
            "name": "prefix-size",
            "required": false,
            "schema": {
              "default": 16,
              "enum": [
                8,
                16
              ],
              "example": 16,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "create_user",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API.\nWarnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create MySQL user",
        "tags": [
          "Mysql",
          "User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  create_user \\\n  name='dbuser' \\\n  password='12345luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/create_user?name=dbuser&password=12345luggage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_create_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_create_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/create_user/,\n    {\n        'name' => 'dbuser',\n        'password' => '12345luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_create_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_create_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'create_user',\n    array (\n        'name' => 'dbuser',\n        'password' => '12345luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Mysql/delete_database": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes a MySQL® database.\n\n**Important:**\n\nwhen you disable the [MySQL/MariaDB role](https://go.cpanel.net/serverroles#roles) **and**\nremote MySQL is **not** already configured, the system **disables** this function.",
        "operationId": "Mysql-delete_database",
        "parameters": [
          {
            "description": "The database's name.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "example",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_database",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API.\nWarnings describe non-critical failures or\n other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete MySQL database",
        "tags": [
          "Mysql",
          "Database Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  delete_database \\\n  name='example'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/delete_database?name=example"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_delete_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_delete_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/delete_database/,\n    {\n        'name' => 'example',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_delete_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_delete_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'delete_database',\n    array (\n        'name' => 'example',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/Mysql/delete_host": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function removes a remote MySQL® host's access to the account's databases.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles) and remote MySQL is not already configured, the system **disables** this function.",
        "operationId": "Mysql-delete_host",
        "parameters": [
          {
            "description": "The remote MySQL server's hostname, IP Address, or IP address range.\n\n**Note:**\nYou may use the following IP address formats:\n\n192.168.1.6 — IP address.\n192.168.%.% — Range with the percent (%) symbol as a wildcard.\n192.168.0.0/16 — Range in CIDR format.",
            "in": "query",
            "name": "host",
            "required": true,
            "schema": {
              "example": "remote.example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_host",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable remote MySQL host access",
        "tags": [
          "Mysql",
          "Remote Databases"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  delete_host \\\n  host='remote.example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/delete_host?host=remote.example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_delete_host.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_delete_host.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/delete_host/,\n    {\n        'host' => 'remote.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_delete_host.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_delete_host.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'delete_host',\n    array (\n        'host' => 'remote.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/Mysql/delete_user": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes a MySQL® user.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles) and remote MySQL is not already configured, the system **disables** this function.",
        "operationId": "Mysql-delete_user",
        "parameters": [
          {
            "description": "The MySQL user's name.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "example",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_user",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete MySQL user",
        "tags": [
          "Mysql",
          "User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  delete_user \\\n  name='example'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/delete_user?name=example"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_delete_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_delete_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/delete_user/,\n    {\n        'name' => 'example',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_delete_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_delete_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'delete_user',\n    array (\n        'name' => 'example',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/Mysql/dump_database_schema": {
      "get": {
        "x-readonly": true,
        "description": "This function returns a string that you can give to MySQL® to recreate a particular database’s schema.\n\n**Important:**\n\n  When you disable the [MySQL/MariaDB role](https://go.cpanel.net/serverroles) **and** remote MySQL is **not** configured, the system **disables** this function.",
        "operationId": "Mysql-dump_database_schema",
        "parameters": [
          {
            "description": "The database's name.",
            "in": "query",
            "name": "dbname",
            "required": true,
            "schema": {
              "example": "username_example_db",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "dump_database_schema",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The string to give to MySQL.",
                          "example": "-- MySQL dump 10.13  Distrib 5.7.26, for Linux (x86_64)\n--\n-- Host: localhost    Database:username_example_db\n-- ------------------------------------------------------\n-- Serverversion\t5.7.26\n\n/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT*/;\n/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;\n/*!40101 SET@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;\n/*!40101 SET NAMES utf8mb4*/;\n/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;\n/*!40103 SET TIME_ZONE='+00:00'*/;\n/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;\n/*!40014 SET@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;\n/*!40101 SET@OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;\n/*!40111 SE@OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;\n\n--\n-- Current Database:`username_example_db`\n--\n\nCREATE DATABASE /*!32312 IF NOT EXISTS*/ `username_example_d/*!40100 DEFAULT CHARACTER SET latin1 */;\n\nUSE `username_example_db`;\n/*!40103 SETTIME_ZONE=@OLD_TIME_ZONE */;\n\n/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;\n/*!40014 SETFOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;\n/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS*/;\n/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;\n/*!40101 SETCHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;\n/*!40101 SETCOLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;\n/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES*/;\n\n-- Dump completed on 2019-06-06  9:44:04\n",
                          "type": "string"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return MySQL database schema",
        "tags": [
          "Mysql",
          "Database Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  dump_database_schema \\\n  dbname='username_example_db'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/dump_database_schema?dbname=username_example_db"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_dump_database_schema.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_dump_database_schema.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/dump_database_schema/,\n    {\n        'dbname' => 'username_example_db',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_dump_database_schema.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_dump_database_schema.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'dump_database_schema',\n    array (\n        'dbname' => 'username_example_db',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/Mysql/get_host_notes": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the notes associated with the account's remote MySQL® hosts.\n\n**Important:**\n\n  When you disable the [*MySQL/MariaDB* role](https://go.cpanel.net/serverroles)\n  **and** remote MySQL is **not** already configured, the system **disables** this function.",
        "operationId": "Mysql-get_host_notes",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_host_notes",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "additionalProperties": {
                            "description": "The notes associated with the account's Remote MySQL hosts.",
                            "example": "Located somewhere in the Ford Galaxy",
                            "type": "string"
                          },
                          "description": "The keys are remote MySQL hostnames or IP addresses and values are their corresponding notes.",
                          "example": {
                            "1.2.3.45": "The combination on my luggage",
                            "12.34.56.78": "Located somewhere in the Ford Galaxy",
                            "8.8.8.8": "Located on Spaceball 1"
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return remote MySQL host notes",
        "tags": [
          "Mysql",
          "Remote Databases"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  get_host_notes\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/get_host_notes"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_get_host_notes.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_get_host_notes.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/get_host_notes/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_get_host_notes.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_get_host_notes.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'get_host_notes'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 74"
      }
    },
    "/Mysql/get_privileges_on_database": {
      "get": {
        "x-readonly": true,
        "description": "This function lists a MySQL® database user's privileges.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles)\nand remote MySQL is not already configured, the system disables this function.",
        "operationId": "Mysql-get_privileges_on_database",
        "parameters": [
          {
            "description": "The database name.",
            "in": "query",
            "name": "database",
            "required": true,
            "schema": {
              "example": "mydb",
              "type": "string"
            }
          },
          {
            "description": "The database user's name.\n\n**Important:**\n\nIf database prefixing is enabled, you **must** prefix this value with the account prefix and an underscore (`_`).\n\nFor example, for the `dbuser` user on the `user` cPanel account, pass in a value of `user_dbuser`.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "dbuser",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_privileges_on_database",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of privileges.\n\n**Note:**\n\nIf the database user does not have privileges on the database database,\nthis array will return empty.\n* `ALL PRIVILEGES`\n* One or more of the following individual privileges:\n  * `ALTER`\n  * `ALTER ROUTINE`\n  * `CREATE`\n  * `CREATE ROUTINE`\n  * `CREATE TEMPORARY TABLES`\n  * `CREATE VIEW`\n  * `DELETE`\n  * `DROP`\n  * `EVENT`\n  * `EXECUTE`\n  * `INDEX`\n  * `INSERT`\n  * `LOCK TABLES`\n  * `REFERENCES`\n  * `SELECT`\n  * `SHOW VIEW`\n  * `TRIGGER`\n  * `UPDATE`",
                          "items": {
                            "example": "CREATE",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API.\nWarnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return MySQL user privileges",
        "tags": [
          "Mysql",
          "User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  get_privileges_on_database \\\n  user='dbuser' \\\n  database='mydb'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/get_privileges_on_database?user=dbuser&database=mydb"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_get_privileges_on_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_get_privileges_on_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/get_privileges_on_database/,\n    {\n        'user' => 'dbuser',\n        'database' => 'mydb',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_get_privileges_on_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_get_privileges_on_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'get_privileges_on_database',\n    array (\n        'user' => 'dbuser',\n        'database' => 'mydb',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Mysql/get_restrictions": {
      "get": {
        "x-readonly": true,
        "description": "This function lists a MySQL® database's name, username length restrictions, and database prefix.\n\n**Important:**\n\n  When you disable the [*MySQL/MariaDB* role](https://go.cpanel.net/serverroles)\n  **and** remote MySQL is **not** already configured, the system **disables** this function.",
        "operationId": "Mysql-get_restrictions",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_restrictions",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "max_database_name_length": {
                              "description": "The maximum length of a MySQL database name.",
                              "example": 64,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "max_username_length": {
                              "description": "The maximum length of a MySQL database user's name.",
                              "example": 16,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "prefix": {
                              "description": "The account's database prefix, if database prefixing is enabled.\n* If database prefixing is enabled, a string of up to the first eight characters of the cPanel account username, and an underscore (_).\n* If database prefixing is disabled, this is null.",
                              "example": "user_",
                              "nullable": true,
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return MySQL name length restrictions",
        "tags": [
          "Mysql",
          "User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  get_restrictions\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/get_restrictions"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_get_restrictions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_get_restrictions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/get_restrictions/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_get_restrictions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_get_restrictions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'get_restrictions'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Mysql/get_server_information": {
      "get": {
        "x-readonly": true,
        "description": "This function returns information about the account's MySQL® host.\n\n**Important:**\n\n  When you disable the [MySQL role](https://go.cpanel.net/serverroles) **and** remote MySQL is **not** already configured, the system **disables** this function.",
        "operationId": "Mysql-get_server_information",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_server_information",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "host": {
                              "description": "The MySQL server's hostname or IP address.",
                              "oneOf": [
                                {
                                  "example": "192.0.2.1",
                                  "format": "ipv4",
                                  "type": "string"
                                },
                                {
                                  "example": "remote.example.com",
                                  "format": "domain",
                                  "type": "string"
                                }
                              ]
                            },
                            "is_remote": {
                              "description": "Whether the host is a remote MySQL server.\n* `1` - Remote host.\n* `0` - Local host.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "version": {
                              "description": "The MySQL server's version.",
                              "example": "5.6.23",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return MySQL server host information and version",
        "tags": [
          "Mysql",
          "Database Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  get_server_information\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/get_server_information"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_get_server_information.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_get_server_information.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/get_server_information/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_get_server_information.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_get_server_information.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'get_server_information'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/Mysql/list_databases": {
      "get": {
        "x-readonly": true,
        "description": "This function lists an account's MySQL® databases.\n\n**Important:**\n\nWhen you disable the [*MySQL/MariaDB* role](https://go.cpanel.net/serverroles) **and** remote MySQL is **not** configured, the system **disables** this function.",
        "operationId": "Mysql-list_databases",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_databases",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Information about the database.",
                          "items": {
                            "properties": {
                              "database": {
                                "description": "The database name.",
                                "example": "user_db",
                                "type": "string"
                              },
                              "disk_usage": {
                                "description": "The disk space that the database uses, in bytes.",
                                "example": 673,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "users": {
                                "description": "A list of database usernames.\n\n**Note:**\n\nIf no users exist on a database, the function returns an empty array.",
                                "example": [
                                  "db_user",
                                  "db2_user"
                                ],
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return MySQL databases",
        "tags": [
          "Mysql",
          "Database Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  list_databases\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/list_databases"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_list_databases.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_list_databases.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/list_databases/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_list_databases.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_list_databases.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'list_databases'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/Mysql/list_routines": {
      "get": {
        "x-readonly": true,
        "description": "This function returns a database user's MySQL® routines.\n\n**Important:**\n\n  When you disable the [MySQL/MariaDB role](https://go.cpanel.net/serverroles) **and**\n  remote MySQL is **not** configured, the system **disables** this function.",
        "operationId": "Mysql-list_routines",
        "parameters": [
          {
            "description": "The database user for whom to return MySQL routines. If you don't specify a database user, this function returns the MySQL routines for all database users.",
            "in": "query",
            "name": "database_user",
            "required": false,
            "schema": {
              "example": "db_user",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_routines",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of MySQL routines. If no routines exist, the function returns an empty array.",
                          "example": [
                            "cptest_newdb.hello",
                            "cptest_newdb.my_routine"
                          ],
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return MySQL user routines",
        "tags": [
          "Mysql",
          "User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  list_routines\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/list_routines"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_list_routines.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_list_routines.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/list_routines/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_list_routines.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_list_routines.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'list_routines'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/Mysql/list_users": {
      "get": {
        "x-readonly": true,
        "description": "This function lists an account's MySQL® database users.\n\n**Important:**\n\n  When you disable the [MySQL/MariaDB role](https://go.cpanel.net/serverroles) **and**\n  remote MySQL is **not** configured, the system **disables** this function.",
        "operationId": "Mysql-list_users",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_users",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of database information objects.",
                          "items": {
                            "properties": {
                              "databases": {
                                "description": "An array of databases that belong to the\ndatabase user.\n\n**Note:**\n\nIf no users are assigned to a database, the function returns\nan empty array.",
                                "example": [
                                  "user_database1",
                                  "user_database2"
                                ],
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "shortuser": {
                                "description": "The short version of the database username.",
                                "example": "user1",
                                "type": "string"
                              },
                              "user": {
                                "description": "The database username.",
                                "example": "example_user1",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return MySQL users",
        "tags": [
          "Mysql",
          "User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  list_users\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/list_users"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_list_users.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_list_users.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/list_users/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_list_users.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_list_users.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'list_users'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82"
      }
    },
    "/Mysql/locate_server": {
      "get": {
        "x-readonly": true,
        "description": "This function returns information about the account's MySQL® host.\n\n**Important:**\n\nWhen you disable the [MySQL/MariaDB role](https://go.cpanel.net/serverroles#roles) **and** remote MySQL is **not** already configured, the system **disables** this function.",
        "operationId": "Mysql-locate_server",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "locate_server",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "is_remote": {
                              "description": "Whether the host is a remote MySQL server.\n* `1` - Remote host.\n* `0` - Local host.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "remote_host": {
                              "description": "The remote MySQL server's hostname or IP address.",
                              "oneOf": [
                                {
                                  "description": "An IP address.",
                                  "example": "192.0.2.1",
                                  "format": "ipv4",
                                  "type": "string"
                                },
                                {
                                  "description": "A hostname.",
                                  "example": "remote.example.com",
                                  "format": "domain",
                                  "type": "string"
                                }
                              ]
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return MySQL server host information",
        "tags": [
          "Mysql",
          "Database Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  locate_server\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/locate_server"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_locate_server.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_locate_server.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/locate_server/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_locate_server.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_locate_server.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'locate_server'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/Mysql/rename_database": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function renames a MySQL® database.\n\nMySQL does not allow you to rename a database. When cPanel & WHM \"renames\" a database, the\nsystem performs the following steps:\n1. The system creates a new database.\n2. The system moves data from the old database to the new database.\n3. The system recreates grants and stored code in the new database.\n4. The system deletes the old database and its grants.\n\n**Warning:**\n\n* It is potentially dangerous to rename a MySQL database. We **strongly** recommend that you\nperform a backup of the database before you attempt to rename it.\n* If any of the first three steps fail, the system returns an error and attempts to restore the database's original state.\n If the restoration process fails, the API function's error response describes these additional failures.\n* In rare cases, the system creates the second database successfully, but fails to delete the old database or grants.\n The system treats the rename action as a success; however,\n the API function returns warnings that describe the failure to delete the old database or grants.\n\n**Important:**\n\nWhen you disable the [MySQL/MariaDB role](https://go.cpanel.net/serverroles)\n**and** remote MySQL is **not** already configured, the system **disables** this function.",
        "operationId": "Mysql-rename_database",
        "parameters": [
          {
            "description": "The database's new name.\n\n**Important:**\n\n* If database prefixing is enabled, you **must** prefix this value with the account prefix\nand an underscore (`_`). For example, for the `dbuser` database on the user cPanel account,\npass in a value of `user_dbuser`.\n* The maximum length of the database name is 64 characters. However, due to the method that\ncPanel & WHM uses to store MySQL database names, each underscore character requires two\ncharacters of that limit. Therefore, if you enable database prefixing, the maximum length of\nthe database name is 63 characters, which includes both the database prefix and the\nunderscore character. Each additional underscore requires another two characters of that\nlimit.",
            "in": "query",
            "name": "newname",
            "required": true,
            "schema": {
              "example": "newlyrenamed",
              "maxLength": 64,
              "type": "string"
            }
          },
          {
            "description": "The database's current name.",
            "in": "query",
            "name": "oldname",
            "required": true,
            "schema": {
              "example": "mydb",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "rename_database",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API.\nWarnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update MySQL database name",
        "tags": [
          "Mysql",
          "Database Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  rename_database \\\n  oldname='mydb' \\\n  newname='newlyrenamed'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/rename_database?oldname=mydb&newname=newlyrenamed"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_rename_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_rename_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/rename_database/,\n    {\n        'oldname' => 'mydb',\n        'newname' => 'newlyrenamed',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_rename_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_rename_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'rename_database',\n    array (\n        'oldname' => 'mydb',\n        'newname' => 'newlyrenamed',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Mysql/rename_user": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function renames a MySQL® database user.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles)\n and remote MySQL is **not** already configured,\n the system **disables** this function.",
        "operationId": "Mysql-rename_user",
        "parameters": [
          {
            "description": "The user's new name.\n\nImportant:\n====\n\nTo learn more about database username limits, check your database type:\n\nMySQL 5.6\n----\n\nMySQL version 5.6 limits the database username to 16 characters. The server uses the first nine characters of this limit for the database prefix. The database prefix uses the cPanel account's username and an underscore (`_`). The server only applies the first eight characters of the cPanel account's username.\n\nFor example:\n\n* A `db_` database prefix allows MySQL usernames of up to 13 characters.\n* An `example_` database prefix allows MySQL usernames of up to eight characters.\n\nMySQL 5.7+\n----\n\nMySQL versions 5.7 and later limit the database username to 32 characters. The server uses the first nine characters of this limit for the database prefix. The database prefix uses the cPanel account's username and an underscore (`_`). The server only applies the first eight characters of the cPanel account's username.\n\nFor example:\n\n* A `db_` database prefix allows MySQL usernames of up to 29 characters.\n* An `example_` database prefix allows MySQL usernames of up to 24 characters.\n\nMariaDB\n----\n\nMariaDB limits the database username to 47 characters. The server uses the first nine characters of this limit for the database prefix. The database prefix uses the cPanel account's username and an underscore (`_`). The server only applies the first eight characters of the cPanel account's username.\n\nFor example:\n\n* A `db_` database prefix allows MariaDB usernames of up to 44 characters.\n* An `example_` database prefix allows MariaDB usernames of up to 39 characters.",
            "in": "query",
            "name": "newname",
            "required": true,
            "schema": {
              "example": "mynewusername",
              "type": "string"
            }
          },
          {
            "description": "The user's current name.",
            "in": "query",
            "name": "oldname",
            "required": true,
            "schema": {
              "example": "dbuser",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "rename_user",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update MySQL username",
        "tags": [
          "Mysql",
          "User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  rename_user \\\n  oldname='dbuser' \\\n  newname='mynewusername'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/rename_user?oldname=dbuser&newname=mynewusername"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_rename_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_rename_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/rename_user/,\n    {\n        'oldname' => 'dbuser',\n        'newname' => 'mynewusername',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_rename_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_rename_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'rename_user',\n    array (\n        'oldname' => 'dbuser',\n        'newname' => 'mynewusername',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Mysql/repair_database": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function repairs all of the tables in a MySQL® database.\n\n**Important:**\n\nWhen you disable the [MySQL/MariaDB role](https://go.cpanel.net/serverroles)\n**and** remote MySQL is **not** already configured, the system **disables** this function.",
        "operationId": "Mysql-repair_database",
        "parameters": [
          {
            "description": "The database's name.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "example_db",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "repair_database",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing a response message for each of a database's table in sequence.",
                          "items": {
                            "properties": {
                              "msg_text": {
                                "description": "The message's contents.",
                                "example": "OK",
                                "type": "string"
                              },
                              "msg_type": {
                                "description": "The type of message.\n\n* `status`\n* `error`\n* `info`\n* `note`\n* `warning`\n\n**Note:**\n\nFor more information, read [MySQL's REPAIR TABLE](http://dev.mysql.com/doc/refman/5.7/en/repair-table.html) documentation.",
                                "enum": [
                                  "status",
                                  "error",
                                  "info",
                                  "note",
                                  "warning"
                                ],
                                "example": "status",
                                "type": "string"
                              },
                              "table": {
                                "description": "The table's name in the database.",
                                "example": "table1",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Repair MySQL database tables",
        "tags": [
          "Mysql",
          "Database Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  repair_database \\\n  name='example_db'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/repair_database?name=example_db"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_repair_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_repair_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/repair_database/,\n    {\n        'name' => 'example_db',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_repair_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_repair_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'repair_database',\n    array (\n        'name' => 'example_db',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/Mysql/revoke_access_to_database": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function revokes a MySQL® database user's privileges.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles) **and**\nremote MySQL is **not** already configured, the system **disables** this function.",
        "operationId": "Mysql-revoke_access_to_database",
        "parameters": [
          {
            "description": "The database's name.",
            "in": "query",
            "name": "database",
            "required": true,
            "schema": {
              "example": "mydb",
              "type": "string"
            }
          },
          {
            "description": "The database user's name.\n\n**Important:**\n\nIf database prefixing is enabled, you **must** prefix this value with the account\nprefix and an underscore (`_`).\n\nFor example, for the `dbuser` user on the `user` cPanel account, pass in a value\nof `user_dbuser`. ",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "dbuser",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "revoke_access_to_database",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API.\nWarnings describe non-critical failures or\n other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove MySQL user privileges",
        "tags": [
          "Mysql",
          "User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  revoke_access_to_database \\\n  user='dbuser' \\\n  database='mydb'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/revoke_access_to_database?user=dbuser&database=mydb"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_revoke_access_to_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_revoke_access_to_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/revoke_access_to_database/,\n    {\n        'user' => 'dbuser',\n        'database' => 'mydb',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_revoke_access_to_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_revoke_access_to_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'revoke_access_to_database',\n    array (\n        'user' => 'dbuser',\n        'database' => 'mydb',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Mysql/set_password": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sets a MySQL® database user's password.\n\n**Important:**\n\nWhen you disable the [MySQL role](https://go.cpanel.net/serverroles)\n and remote MySQL is **not** already configured,\n the system **disables** this function.",
        "operationId": "Mysql-set_password",
        "parameters": [
          {
            "description": "The user's new password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "12345luggage",
              "type": "string"
            }
          },
          {
            "description": "The MySQL database user.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "dbuser",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_password",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "failures": {
                              "description": "An array of the function's error messages.",
                              "items": {
                                "properties": {
                                  "error": {
                                    "description": "The error message.",
                                    "type": "string"
                                  },
                                  "host": {
                                    "description": "The hostname that reported the error.",
                                    "format": "domain",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API.\nWarnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update MySQL user password",
        "tags": [
          "Mysql",
          "User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  set_password \\\n  user='dbuser' \\\n  password='12345luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/set_password?user=dbuser&password=12345luggage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_set_password.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_set_password.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/set_password/,\n    {\n        'user' => 'dbuser',\n        'password' => '12345luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_set_password.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_set_password.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'set_password',\n    array (\n        'user' => 'dbuser',\n        'password' => '12345luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Mysql/set_privileges_on_database": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sets a MySQL® database user's privileges.\n\n**Important:**\n\nWhen you disable the [*MySQL/MariaDB* role](https://go.cpanel.net/serverroles), **and** remote MySQL is **not** already configured, the system **disables** this function.",
        "operationId": "Mysql-set_privileges_on_database",
        "parameters": [
          {
            "description": "The database's name.\n\n**Important:**\n\nIf database prefixing is enabled, you **must** prefix this value with the account prefix and an underscore (`_`). For example, for the `db` database on the `user` cPanel account, pass in a value of `user_db`.",
            "in": "query",
            "name": "database",
            "required": true,
            "schema": {
              "example": "cpuser_dbname",
              "type": "string"
            }
          },
          {
            "description": "The database user's name.\n\n**Important:**\n\nIf database prefixing is enabled, you **must** prefix this value with the account prefix and an underscore (`_`). For example, for the `dbuser` user on the `user` cPanel account, pass in a value of `user_dbuser`.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "cpuser_dbuser",
              "type": "string"
            }
          },
          {
            "description": "* `ALL PRIVILEGES`\n* A comma-separated list of one or more of the following individual privileges:\n  * `ALTER`\n  * `ALTER ROUTINE`\n  * `CREATE`\n  * `CREATE ROUTINE`\n  * `CREATE TEMPORARY TABLES`\n  * `CREATE VIEW`\n  * `DELETE`\n  * `DROP`\n  * `EVENT`\n  * `EXECUTE`\n  * `INDEX`\n  * `INSERT`\n  * `LOCK TABLES`\n  * `REFERENCES`\n  * `SELECT`\n  * `SHOW VIEW`\n  * `TRIGGER`\n  * `UPDATE`\n\n**Note:**\n\n* This list replaces, rather than adds to, the existing privilege list.\n* In browser-based and command line calls, separate multiple values with `%2C` and replace spaces with `%20`.",
            "in": "query",
            "name": "privileges",
            "required": false,
            "schema": {
              "example": "DELETE,UPDATE,CREATE,ALTER",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_privileges_on_database",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update MySQL user privileges",
        "tags": [
          "Mysql",
          "User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  set_privileges_on_database \\\n  user='cpuser_dbuser' \\\n  database='cpuser_dbname'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/set_privileges_on_database?user=cpuser_dbuser&database=cpuser_dbname"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_set_privileges_on_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_set_privileges_on_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/set_privileges_on_database/,\n    {\n        'user' => 'cpuser_dbuser',\n        'database' => 'cpuser_dbname',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_set_privileges_on_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_set_privileges_on_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'set_privileges_on_database',\n    array (\n        'user' => 'cpuser_dbuser',\n        'database' => 'cpuser_dbname',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.44"
      }
    },
    "/Mysql/setup_db_and_user": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a randomly named MySQL® database and user. This allows a 3rdparty tool to create its own DB without needing any knowledge of cPanel internals such as quotas or other limits. These will simply be passed back as an error.\n\n**Important:**\n\n  When you disable the [MySQL/MariaDB role](https://go.cpanel.net/howtouseserverprofiles#roles) **and** remote MySQL is **not** already configured, the system **disables** this function.",
        "operationId": "Mysql-setup_db_and_user",
        "parameters": [
          {
            "description": "An optional string to prepend to the randomly generated database name. This is in addition to the cPanel user which will appear prior to this. The prefix should be 6 characters or less and be only alphanumeric characters. WARNING: longer prexies lead to less entropy in the random username. Keep it short if you can!",
            "in": "query",
            "name": "prefix",
            "required": false,
            "schema": {
              "example": "wp",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "setup_db_and_user",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "database": {
                              "description": "The randomized name of the database created. This is normally prefixed with the account username and can also be prefixed with application prefix.",
                              "oneOf": [
                                {
                                  "example": "cpuser_wp_gwl7vpix28owo855yjomc7rsghkbjv0d0kf45kcvzip9tyxw9kdd",
                                  "format": "database name",
                                  "type": "string"
                                },
                                {
                                  "example": "cpuser_ljiupjkhrn6zs20c9glnms0xor8sx48fm4noohri07xdruj31q",
                                  "format": "database name",
                                  "type": "string"
                                }
                              ]
                            },
                            "database_user": {
                              "description": "The randomized username assigned to the database. This is normally prefixed with the account username and can also be prefixed with application prefix.",
                              "oneOf": [
                                {
                                  "example": "cpuser_wp_dji1jdt7nhjiwjcjju45",
                                  "format": "database username",
                                  "type": "string"
                                },
                                {
                                  "example": "cpuser_dji1jdt7nhjiwjcjju45asd",
                                  "format": "database username",
                                  "type": "string"
                                }
                              ]
                            },
                            "database_user_password": {
                              "description": "A randomly generated password intended to be maximally randomized.",
                              "example": ";1t/U:wnFkCRL9q68]/+<TX=.C#7]n",
                              "format": "password",
                              "type": "string"
                            },
                            "hostname": {
                              "description": "The hostname to connect to from within the server to connect to the MySQL server",
                              "oneOf": [
                                {
                                  "example": "localhost",
                                  "format": "hostname",
                                  "type": "string"
                                },
                                {
                                  "example": "mysql.remote.server.tld",
                                  "format": "hostname",
                                  "type": "string"
                                }
                              ]
                            },
                            "port": {
                              "description": "The port to connect to from within the server to connect to the MySQL server",
                              "example": "3306",
                              "format": "unix-port",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create a randomly named MySQL username/database set.",
        "tags": [
          "Mysql",
          "Database Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  setup_db_and_user \\\n  prefix='wp'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/setup_db_and_user?prefix=wp"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_setup_db_and_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Mysql_setup_db_and_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/setup_db_and_user/,\n    {\n        'prefix' => 'wp',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_setup_db_and_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Mysql_setup_db_and_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'setup_db_and_user',\n    array (\n        'prefix' => 'wp',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.116"
      }
    },
    "/Mysql/update_privileges": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function updates privileges for all MySQL® databases and users on an account.\n\n**Important:**\n\nWhen you disable the [MySQL/MariaDB role](https://go.cpanel.net/serverroles) **and**\nremote MySQL is **not** configured, the system **disables** this function.",
        "operationId": "Mysql-update_privileges",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "update_privileges",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Mysql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update MySQL® privileges",
        "tags": [
          "Mysql",
          "User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Mysql \\\n  update_privileges\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Mysql/update_privileges"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Mysql_update_privileges.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Mysql_update_privileges.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Mysql/,\n    q/update_privileges/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Mysql_update_privileges.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Mysql_update_privileges.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Mysql',\n    'update_privileges'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 82",
        "x-cpanel-internal-only": false
      }
    },
    "/NginxCaching/clear_cache": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function clears the user's NGINX cache.\n\n**Note:**\n\n  - You can **only** use this function if you installed the `ea-nginx` package.",
        "operationId": "NginxCaching-clear_cache",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "clear_cache",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "NginxCaching",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {}
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete NGINX cache contents.",
        "tags": [
          "NginxCaching"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  NginxCaching \\\n  clear_cache\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/NginxCaching/clear_cache"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file NginxCaching_clear_cache.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/NginxCaching_clear_cache.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/NginxCaching/,\n    q/clear_cache/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file NginxCaching_clear_cache.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/NginxCaching_clear_cache.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'NginxCaching',\n    'clear_cache'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 100"
      }
    },
    "/NginxCaching/disable_cache": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function disables the user's NGINX cache.\n\n**Note:**\n\n  - You can **only** use this function if you installed the `ea-nginx` package.",
        "operationId": "NginxCaching-disable_cache",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disable_cache",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "NginxCaching",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {}
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable the user's NGINX cache",
        "tags": [
          "NginxCaching"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  NginxCaching \\\n  disable_cache\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/NginxCaching/disable_cache"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file NginxCaching_disable_cache.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/NginxCaching_disable_cache.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/NginxCaching/,\n    q/disable_cache/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file NginxCaching_disable_cache.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/NginxCaching_disable_cache.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'NginxCaching',\n    'disable_cache'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 100"
      }
    },
    "/NginxCaching/enable_cache": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables the user's NGINX cache.\n\n**Note:**\n\n  - You can **only** use this function if you installed the `ea-nginx` package.",
        "operationId": "NginxCaching-enable_cache",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "enable_cache",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "NginxCaching",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {}
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable the user's NGINX cache",
        "tags": [
          "NginxCaching"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  NginxCaching \\\n  enable_cache\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/NginxCaching/enable_cache"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file NginxCaching_enable_cache.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/NginxCaching_enable_cache.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/NginxCaching/,\n    q/enable_cache/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file NginxCaching_enable_cache.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/NginxCaching_enable_cache.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'NginxCaching',\n    'enable_cache'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 100"
      }
    },
    "/NginxCaching/reset_cache_config": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function resets the user's NGINX caching configuration.\n\n**Note:**\n\n  - You can **only** use this function if you installed the `ea-nginx` package.",
        "operationId": "NginxCaching-reset_cache_config",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "reset_cache_config",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "NginxCaching",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {}
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Reset the user's NGINX cache configuration",
        "tags": [
          "NginxCaching"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  NginxCaching \\\n  reset_cache_config\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/NginxCaching/reset_cache_config"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file NginxCaching_reset_cache_config.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/NginxCaching_reset_cache_config.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/NginxCaching/,\n    q/reset_cache_config/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file NginxCaching_reset_cache_config.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/NginxCaching_reset_cache_config.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'NginxCaching',\n    'reset_cache_config'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 100"
      }
    },
    "/Notifications/get_notifications_count": {
      "get": {
        "x-readonly": true,
        "description": "This function returns the number of server-wide notifications on an account.",
        "operationId": "Notifications-get_notifications_count",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_notifications_count",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Notifications",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The number of server-wide notifications.",
                          "example": 3,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return server notifications total",
        "tags": [
          "Notifications"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Notifications \\\n  get_notifications_count\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Notifications/get_notifications_count"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Notifications_get_notifications_count.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Notifications_get_notifications_count.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Notifications/,\n    q/get_notifications_count/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Notifications_get_notifications_count.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Notifications_get_notifications_count.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Notifications',\n    'get_notifications_count'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/Park/listparkeddomains": {
      "get": {
        "description": "This function lists the domains that are parked (aliased) on the cPanel\naccount's primary domain.\n\n**Note:**\n\nThis function lists only the domains parked on the primary domain. Use\nthe `AddonDomain::listaddondomains` function for the domains parked on a\nsubdomain.",
        "operationId": "Park-listparkeddomains",
        "parameters": [
          {
            "description": "A Perl regular expression. The system returns only the parked domains whose name matches this pattern, case-insensitively.",
            "in": "query",
            "name": "regex",
            "required": false,
            "schema": {
              "example": "example[.]com$",
              "type": "string"
            }
          },
          {
            "description": "Whether to include the `can_https_redirect` and `is_https_redirecting` fields in each entry.\n* `1` - Include the HTTPS redirect status.\n* `0` - Omit the HTTPS redirect status.",
            "in": "query",
            "name": "return_https_redirect_status",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "One entry for each domain parked on the account's primary domain.",
                      "items": {
                        "properties": {
                          "basedir": {
                            "description": "The domain's document root, relative to the account's home directory.",
                            "example": "public_html",
                            "type": "string"
                          },
                          "can_https_redirect": {
                            "description": "Whether the system can redirect the domain to `HTTPS`. The system only returns this field when you pass the `return_https_redirect_status` parameter.\n* `1` - The system can redirect the domain.\n* `0` - The system cannot redirect the domain.",
                            "enum": [
                              0,
                              1
                            ],
                            "example": 1,
                            "type": "integer"
                          },
                          "dir": {
                            "description": "The absolute path to the domain's document root.",
                            "example": "/home/username/public_html",
                            "format": "path",
                            "type": "string"
                          },
                          "domain": {
                            "description": "The parked domain.",
                            "example": "alias.example.com",
                            "format": "domain",
                            "type": "string"
                          },
                          "is_https_redirecting": {
                            "description": "Whether the system currently redirects the domain to `HTTPS`. The system only returns this field when you pass the `return_https_redirect_status` parameter.\n* `1` - The system redirects the domain.\n* `0` - The system does **not** redirect the domain.",
                            "enum": [
                              0,
                              1
                            ],
                            "example": 0,
                            "type": "integer"
                          },
                          "reldir": {
                            "description": "The domain's document root, relative to the account's home directory and prefixed with `home:`.",
                            "example": "home:public_html",
                            "type": "string"
                          },
                          "status": {
                            "description": "The URL that the domain redirects to, or the domain's rewrite status when it does not redirect.",
                            "example": "",
                            "type": "string"
                          },
                          "web_subdomain_aliases": {
                            "description": "The built-in service subdomain aliases, for example `www`, that the system serves for the parked domain.",
                            "items": {
                              "format": "domain",
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "errors": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "messages": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "metadata": {
                      "properties": {
                        "transformed": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                      "enum": [
                        0,
                        1
                      ],
                      "example": 1,
                      "type": "integer"
                    },
                    "warnings": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "List the parked (aliased) domains",
        "tags": [
          "Park"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Park \\\n  listparkeddomains\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Park/listparkeddomains"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Park_listparkeddomains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Park_listparkeddomains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Park/,\n    q/listparkeddomains/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Park_listparkeddomains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Park_listparkeddomains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Park',\n    'listparkeddomains'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138",
        "x-readonly": true
      }
    },
    "/Park/park": {
      "get": {
        "description": "This function parks (aliases) a domain on the cPanel account, so that the\ndomain serves the content of a domain that already exists on the account.\n\n**Important:**\n\n- Without the `topdomain` parameter, the system parks the domain on the\n  account's primary domain.\n- With the `topdomain` parameter, the system parks the domain on a\n  subdomain of the primary domain. That arrangement is how an addon\n  domain is represented. To create an addon domain and its subdomain in\n  one call, use the `AddonDomain::addaddondomain` function instead.\n- The account must have either the *Parked Domains* or the *Addon\n  Domains* feature. Parking on the primary domain requires the *Parked\n  Domains* feature specifically.\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles),\nthe system **disables** this function.",
        "operationId": "Park-park",
        "parameters": [
          {
            "description": "The domain to park. The system removes a leading `www.` from this value and converts it to lowercase before it validates the domain.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "alias.example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "Whether to remove the dot (`.`) characters from the `topdomain` value, rather than only trimming a trailing dot. This parameter has no effect unless you also pass the `topdomain` parameter.\n* `1` - Remove dots from the subdomain label.\n* `0` - Do **not** remove dots from the subdomain label.",
            "in": "query",
            "name": "disallowdot",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Whether to allow the system to overwrite an existing [DNS](https://go.cpanel.net/dnsrecords) zone for the `domain` value.\n* `1` - Overwrite an existing zone.\n* `0` - Fail if a zone already exists.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The subdomain label of the account's primary domain to park the `domain` value on. The system appends the primary domain to this value.\n\nOmit this parameter to park the domain on the primary domain itself.",
            "in": "query",
            "name": "topdomain",
            "required": false,
            "schema": {
              "example": "shop",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "This function does not return data. Check the `status` field for the outcome, and the `messages` and `errors` fields for detail."
                    },
                    "errors": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "messages": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "metadata": {
                      "properties": {
                        "transformed": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                      "enum": [
                        0,
                        1
                      ],
                      "example": 1,
                      "type": "integer"
                    },
                    "warnings": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Park an alias domain on an existing domain",
        "tags": [
          "Park"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Park \\\n  park \\\n  domain='alias.example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Park/park?domain=alias.example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Park_park.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Park_park.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Park/,\n    q/park/,\n    {\n        'domain' => 'alias.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Park_park.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Park_park.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Park',\n    'park',\n    array (\n        'domain' => 'alias.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138",
        "x-readonly": false
      }
    },
    "/Park/unpark": {
      "get": {
        "description": "This function unparks (removes the alias for) a domain on the cPanel\naccount.\n\n**Important:**\n\n- This function removes the alias only. It does **not** remove the\n  subdomain that an addon domain is parked on. To remove both, use the\n  `AddonDomain::deladdondomain` function instead.\n- The account must have either the *Parked Domains* or the *Addon\n  Domains* feature.\n\nWhen you disable the [Web Server role](https://go.cpanel.net/serverroles#roles),\nthe system **disables** this function.",
        "operationId": "Park-unpark",
        "parameters": [
          {
            "description": "The parked domain to remove.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "alias.example.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The subdomain that the domain is parked on, given in the underscore-separated form that the `AddonDomain::listaddondomains` function returns in its `domainkey` field.\n\nOmit this parameter to let the system determine the subdomain. Pass it only when the domain is parked on a subdomain rather than on the primary domain.",
            "in": "query",
            "name": "subdomain",
            "required": false,
            "schema": {
              "example": "shop_example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "This function does not return data. Check the `status` field for the outcome, and the `messages` and `errors` fields for detail."
                    },
                    "errors": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "messages": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    },
                    "metadata": {
                      "properties": {
                        "transformed": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                      "enum": [
                        0,
                        1
                      ],
                      "example": 1,
                      "type": "integer"
                    },
                    "warnings": {
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove a parked (aliased) domain",
        "tags": [
          "Park"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Park \\\n  unpark \\\n  domain='alias.example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Park/unpark?domain=alias.example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Park_unpark.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Park_unpark.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Park/,\n    q/unpark/,\n    {\n        'domain' => 'alias.example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Park_unpark.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Park_unpark.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Park',\n    'unpark',\n    array (\n        'domain' => 'alias.example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 138",
        "x-readonly": false
      }
    },
    "/Parser/firstfile_relative_uri": {
      "get": {
        "x-readonly": true,
        "description": "This function reports the first file's URI, relative to the cPanel base directory.",
        "operationId": "Parser-firstfile_relative_uri",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "firstfile_relative_uri",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Parser",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "uri": {
                              "description": "The file's absolute file path.",
                              "example": "/usr/local/cpanel/base/favicon.ico",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return session relative URI",
        "tags": [
          "Parser",
          "URL Parsing"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Parser \\\n  firstfile_relative_uri\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Parser/firstfile_relative_uri"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Parser_firstfile_relative_uri.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Parser_firstfile_relative_uri.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Parser/,\n    q/firstfile_relative_uri/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Parser_firstfile_relative_uri.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Parser_firstfile_relative_uri.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Parser',\n    'firstfile_relative_uri'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/PassengerApps/disable_application": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function disables a Passenger application on an account.\n\n**Important:**\n\n  When you disable the [Web Server role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "PassengerApps-disable_application",
        "parameters": [
          {
            "description": "The application to disable.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "slippers",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disable_application",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "PassengerApps",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable Passenger application",
        "tags": [
          "PassengerApps",
          "Application Manager"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  PassengerApps \\\n  disable_application \\\n  name='slippers'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/PassengerApps/disable_application?name=slippers"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_disable_application.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/PassengerApps_disable_application.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/disable_application/,\n    {\n        'name' => 'slippers',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_disable_application.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/PassengerApps_disable_application.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'disable_application',\n    array (\n        'name' => 'slippers',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 66"
      }
    },
    "/PassengerApps/edit_application": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function edits a Passenger application for an account.\n\n**Note**:\n\n  When you disable the [Web Server role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "PassengerApps-edit_application",
        "parameters": [
          {
            "description": "The application’s current name.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "Ruby Slippers",
              "type": "string"
            }
          },
          {
            "description": "Whether to clear the application’s environment variables.",
            "in": "query",
            "name": "clear_envvars",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                0,
                1
              ],
              "example": 0,
              "type": "integer"
            }
          },
          {
            "description": "The new server environment in which to run the application. If you do not use this parameter, the function does not change the application’s server environment.\n\n  * `development` — Sets the application to run in a development environment.\n  * `production` — Sets the application to run in a production environment.",
            "in": "query",
            "name": "deployment_mode",
            "required": false,
            "schema": {
              "enum": [
                "production",
                "development"
              ],
              "example": "production",
              "type": "string"
            }
          },
          {
            "description": "The application’s new domain. If you do not use this parameter, the function does not change the application’s domain.",
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "example": "toto.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "Whether to enable the application and generate the web server configuration for it.\n\n  * `1` — Enable the application and generate the web server configuration.\n  * `0` — Don’t enable the application and generate the web server configuration.",
            "in": "query",
            "name": "enabled",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "New set of environment variables for the application.\n\n**Important**:\n\n The function replaces all current environment variables with the variables that you pass in this parameter.\n\n**Note**:\n\n  For each `envvar_name` parameter you send you **must** include an `envvar_value` parameter.",
            "explode": true,
            "in": "query",
            "name": "envvar_name",
            "required": false,
            "schema": {
              "example": [
                "SCARECROW",
                "TINMAN",
                "LION"
              ],
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Each environment variable’s value.\n\n**Note**:\n\n  For each `envvar_name` parameter you send you **must** include an `envvar_value` parameter.",
            "in": "query",
            "name": "envvar_value",
            "required": false,
            "schema": {
              "example": [
                "brain",
                "heart",
                "courage"
              ],
              "items": {
                "type": "string"
              },
              "maxLength": 1024,
              "minLength": 1,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The application’s new name. If you do not use this parameter, the function does not change the application's name.",
            "in": "query",
            "name": "new_name",
            "required": false,
            "schema": {
              "example": "Little Dog",
              "type": "string"
            }
          },
          {
            "description": "The application’s new filepath. If you do not use this parameter, the function does not change the application’s filepath.",
            "in": "query",
            "name": "path",
            "required": false,
            "schema": {
              "example": "/home/dorothy/littledog",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "Little Dog": {
                      "base_uri": "/littledog",
                      "deployment_mode": "production",
                      "domain": "toto.com",
                      "enabled": 1,
                      "envvars": {
                        "LION": "courage",
                        "SCARECROW": "brain",
                        "TINMAN": "heart"
                      },
                      "name": "Little Dog",
                      "path": "/home/dorothy/littledog"
                    }
                  },
                  "errors": null,
                  "messages": null,
                  "metadata": {},
                  "status": 1
                },
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "edit_application",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "PassengerApps",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "additionalProperties": {
                            "description": "An object describing the newly-edited application.\n\n**Note**: `application_name` is the `name` of the application.",
                            "maxProperties": 1,
                            "properties": {
                              "base_uri": {
                                "description": "The URI of the application.",
                                "format": "url-path",
                                "type": "string"
                              },
                              "deployment_mode": {
                                "description": "The deployment mode of the application.",
                                "enum": [
                                  "production",
                                  "development"
                                ],
                                "type": "string"
                              },
                              "domain": {
                                "description": "The domain of the application.",
                                "format": "domain",
                                "type": "string"
                              },
                              "enabled": {
                                "description": "Whether the application is enabled or not.\n\n  * `1` — Enabled.\n  * `0` — Disabled.",
                                "enum": [
                                  1,
                                  0
                                ],
                                "type": "integer"
                              },
                              "envvars": {
                                "description": "An object of the application’s environment variables and their values.",
                                "type": "object"
                              },
                              "name": {
                                "description": "The name of the application.",
                                "type": "string"
                              },
                              "path": {
                                "description": "The path of the application inside the user’s home directory.",
                                "format": "path",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "x-additionalPropertiesName": "application_name"
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update Passenger application settings",
        "tags": [
          "PassengerApps",
          "Application Manager"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  PassengerApps \\\n  edit_application \\\n  name='Ruby Slippers'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/PassengerApps/edit_application?name=Ruby%20Slippers"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_edit_application.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PassengerApps_edit_application.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/edit_application/,\n    {\n        'name' => 'Ruby Slippers',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_edit_application.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PassengerApps_edit_application.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'edit_application',\n    array (\n        'name' => 'Ruby Slippers',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 66"
      }
    },
    "/PassengerApps/enable_application": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables a Passenger application and generates the Apache configuration on an account.\n\n**Important:**\n\nWhen you disable the [Web Server role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function. ",
        "operationId": "PassengerApps-enable_application",
        "parameters": [
          {
            "description": "The Passenger application to enable on the account.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "slippers",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "enable_application",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "PassengerApps",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable Passenger application",
        "tags": [
          "PassengerApps",
          "Application Manager"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  PassengerApps \\\n  enable_application \\\n  name='slippers'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/PassengerApps/enable_application?name=slippers"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_enable_application.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PassengerApps_enable_application.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/enable_application/,\n    {\n        'name' => 'slippers',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_enable_application.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PassengerApps_enable_application.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'enable_application',\n    array (\n        'name' => 'slippers',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 66"
      }
    },
    "/PassengerApps/ensure_deps": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function installs the dependencies for a Passenger application.\n\n**Note**:\n\n  This function starts the installation process. This may take a long time to complete.\n\n**Important**:\n\n  When you disable the [Web Server role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "PassengerApps-ensure_deps",
        "parameters": [
          {
            "description": "The application’s filepath.",
            "in": "query",
            "name": "app_path",
            "required": true,
            "schema": {
              "example": "/home/example/my-app/",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "The application’s type.\n\n* `gem` — Ensure ruby gems in the application’s `Gemfile` file.\n* `npm` — Ensure node packages in the application’s `package.json` file.\n* `pip` — Ensure python pips in the application’s `requirements.txt` file.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "enum": [
                "gem",
                "npm",
                "pip"
              ],
              "example": "npm",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "ensure_deps",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "PassengerApps",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "sse_url": {
                              "description": "The SSE URI to track the progress of the process.",
                              "example": "/sse/UserTasks/00000000_5c6c8b18228a35/ensure_deps.log",
                              "format": "url-path",
                              "type": "string"
                            },
                            "task_id": {
                              "description": "The task id of the SSE process.",
                              "example": "00000000/5c76ec5566332c",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Install Passenger application dependencies",
        "tags": [
          "PassengerApps",
          "Application Manager"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  PassengerApps \\\n  ensure_deps \\\n  type='npm' \\\n  app_path='/home/example/my-app/'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/PassengerApps/ensure_deps?type=npm&app_path=%2fhome%2fexample%2fmy-app%2f"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_ensure_deps.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PassengerApps_ensure_deps.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/ensure_deps/,\n    {\n        'type' => 'npm',\n        'app_path' => '/home/example/my-app/',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_ensure_deps.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PassengerApps_ensure_deps.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'ensure_deps',\n    array (\n        'type' => 'npm',\n        'app_path' => '/home/example/my-app/',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 80"
      }
    },
    "/PassengerApps/list_applications": {
      "get": {
        "x-readonly": true,
        "description": "This function lists an account’s Passenger applications.\n\n**Important:**\n\n  When you disable the [Web Server role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "PassengerApps-list_applications",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_applications",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "PassengerApps",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "additionalProperties": {
                            "description": "**Note**:\n\nThe top-level keys are the names of the applications.\n\nThe value is the object defined here.",
                            "properties": {
                              "base_uri": {
                                "description": "The URI of the application.",
                                "example": "/uri-of-app",
                                "format": "url-path",
                                "type": "string"
                              },
                              "deployment_mode": {
                                "description": "The deployment mode of the application.\n\n  * `development` — Sets the application to run in a development environment.\n  * `production` — Sets the application to run in a production environment.",
                                "enum": [
                                  "production",
                                  "development"
                                ],
                                "example": "production",
                                "type": "string"
                              },
                              "deps": {
                                "properties": {
                                  "gem": {
                                    "description": "The shell command to ensure ruby dependencies. It is `0` if there are no ruby dependencies.",
                                    "example": "0",
                                    "type": "string"
                                  },
                                  "npm": {
                                    "description": "The shell command to ensure node dependencies. It is `0` if there are no node dependencies.",
                                    "example": "0",
                                    "type": "string"
                                  },
                                  "pip": {
                                    "description": "The shell command to ensure python dependencies. It is `0` if there are no python dependencies.",
                                    "example": "0",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "domain": {
                                "description": "The domain of the application",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "enabled": {
                                "description": "The application’s enabled status.\n\n* `1` — Enabled.\n* `0` — Disabled."
                              },
                              "envvars": {
                                "description": "The environment variables set for the application.",
                                "nullable": true,
                                "type": "object"
                              },
                              "name": {
                                "description": "The name of the application",
                                "example": "My Application",
                                "type": "string"
                              },
                              "nodejs": {
                                "description": "The path of the Nodejs executable.\nPassenger uses Nodejs to run the application.\n\n**Note**:\n\nThe function only returns this value if you configure this application to use\nNodejs.",
                                "example": "/opt/cpanel/ea-nodejs10/bin/node",
                                "format": "path",
                                "type": "string"
                              },
                              "path": {
                                "description": "The path of the application",
                                "example": "/home/user/app-path",
                                "format": "path",
                                "type": "string"
                              },
                              "python": {
                                "description": "The path of the Python executable.\nPassenger uses Python to run the application.\n\n**Note**:\n\nThe function only returns this value if you configure this application to use\nPython.",
                                "example": "/usr/bin/python",
                                "format": "path",
                                "type": "string"
                              },
                              "ruby": {
                                "description": "The path of the Ruby executable.\nPassenger uses Ruby to run the application.\n\n**Note**:\n\nThe function only returns this value if you configure this application to use\nRuby.",
                                "example": "/opt/cpanel/ea-ruby27/root/usr/libexec/passenger-ruby27",
                                "format": "path",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "description": "An object describing each application.",
                          "example": {
                            "Name of Application 1": {
                              "base_uri": "/app1-uri",
                              "deployment_mode": "production",
                              "deps": {
                                "gem": "0",
                                "npm": "0",
                                "pip": "cd /home/user/app1-dir && pip install --user -r requirements.txt"
                              },
                              "domain": "example.com",
                              "enabled": 1,
                              "envvars": {},
                              "name": "Name of Application 1",
                              "path": "/home/user/app1-dir"
                            },
                            "Name of Application 2": {
                              "base_uri": "/app2-uri",
                              "deployment_mode": "development",
                              "deps": {
                                "gem": "cd /home/user/app2-dir && BUNDLE_PATH=~/.gem /path/to/ruby/version/package/bundler install",
                                "npm": "0",
                                "pip": "0"
                              },
                              "domain": "example.com",
                              "enabled": 1,
                              "envvars": {},
                              "name": "Name of Application 2",
                              "path": "/home/user/app2-dir"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return Passenger applications",
        "tags": [
          "PassengerApps",
          "Application Manager"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  PassengerApps \\\n  list_applications\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/PassengerApps/list_applications"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_list_applications.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PassengerApps_list_applications.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/list_applications/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_list_applications.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PassengerApps_list_applications.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'list_applications'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 66"
      }
    },
    "/PassengerApps/register_application": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function registers a Passenger application for an account.\n\n**Important**:\n\n  * This function **only** registers an application. It does **not** create the application. You **must** create an application **before** you register the application. For an example of how to do this, read our [How to Create Ruby Web Applications](https://go.cpanel.net/howtocreaterubyapps) documentation.\n  * When you disable the [Web Server role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "PassengerApps-register_application",
        "parameters": [
          {
            "description": "The domain for which to register the application.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "dorothy.com",
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The application’s name.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "Name of Application",
              "maxLength": 50,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "description": "The application’s filepath relative to the user’s home directory.",
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "example": "/slippers",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "The application’s base URI.",
            "in": "query",
            "name": "base_uri",
            "required": false,
            "schema": {
              "default": "/",
              "example": "/ruby",
              "format": "url-path",
              "type": "string"
            }
          },
          {
            "description": "The type of server environment in which to run the application.\n\n  * `development` — Sets the application to run in a development environment.\n  * `production` — Sets the application to run in a production environment.",
            "in": "query",
            "name": "deployment_mode",
            "required": false,
            "schema": {
              "default": "production",
              "enum": [
                "production",
                "development"
              ],
              "example": "production",
              "type": "string"
            }
          },
          {
            "description": "Whether to enable the application and generate the web server configuration for it.\n\n  * `1` — Enable the application and generate the web server configuration.\n  * `0` — Don’t enable the application and generate the web server configuration.",
            "in": "query",
            "name": "enabled",
            "required": false,
            "schema": {
              "default": 1,
              "enum": [
                0,
                1
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Environment variables that the application needs.\n\n**Note**:\n\n  For each `envvar_name` parameter you send, you **must** include an `envvar_value` parameter.\n\n  This parameter's value can only contain letters, numbers, underscores, and dashes, and cannot begin with a number. This parameter's value must also not exceed 256 characters.",
            "explode": true,
            "in": "query",
            "name": "envvar_name",
            "required": false,
            "schema": {
              "example": [
                "SHOES",
                "TINMAN"
              ],
              "items": {
                "type": "string"
              },
              "maxLength": 256,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Each environment variable’s value.\n\n**Note**:\n\n  For each `envvar_name` parameter you send, you **must** include an `envvar_value` parameter.\n\n  An environment variable value must contain 1024 or fewer ASCII-printable characters.",
            "explode": true,
            "in": "query",
            "name": "envvar_value",
            "required": false,
            "schema": {
              "example": [
                "ruby",
                "heart"
              ],
              "items": {
                "type": "string"
              },
              "maxLength": 1024,
              "type": "array"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "register_application",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "PassengerApps",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "additionalProperties": {
                            "description": "The application’s configuration information.\n\n  **Note**:\n\n  The top-level key is the name of the application.\n\n  The value is the object defined here.",
                            "properties": {
                              "base_uri": {
                                "description": "The URI of the application.",
                                "format": "url-path",
                                "type": "string"
                              },
                              "deployment_mode": {
                                "description": "The deployment mode of the application.\n\n  * `development` — Sets the application to run in a development environment.\n  * `production` — Sets the application to run in a production environment.",
                                "enum": [
                                  "production",
                                  "development"
                                ],
                                "type": "string"
                              },
                              "domain": {
                                "description": "The domain of the application.",
                                "type": "string"
                              },
                              "enabled": {
                                "description": "Whether the application is enabled or not.\n\n  * `1` — Enabled.\n  * `0` — Disabled.",
                                "enum": [
                                  1,
                                  0
                                ],
                                "type": "integer"
                              },
                              "envvars": {
                                "description": "An object of the application’s environment variables and their values.",
                                "type": "object"
                              },
                              "name": {
                                "description": "The name of the application.",
                                "type": "string"
                              },
                              "path": {
                                "description": "The path of the application inside the user’s home directory.",
                                "format": "path",
                                "type": "string"
                              }
                            }
                          },
                          "description": "An object describing the newly-registered application.",
                          "example": {
                            "Name of Application": {
                              "base_uri": "/ruby",
                              "deployment_mode": "production",
                              "domain": "dorothy.com",
                              "enabled": 1,
                              "envvars": {
                                "SHOES": "ruby",
                                "TINMAN": "heart"
                              },
                              "name": "Name of Application",
                              "path": "/home/dorothy/slippers"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Register Passenger application",
        "tags": [
          "PassengerApps",
          "Application Manager"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  PassengerApps \\\n  register_application \\\n  name='Name of Application' \\\n  path='/slippers' \\\n  domain='dorothy.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/PassengerApps/register_application?name=Name%20of%20Application&path=%2fslippers&domain=dorothy.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_register_application.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PassengerApps_register_application.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/register_application/,\n    {\n        'name' => 'Name of Application',\n        'path' => '/slippers',\n        'domain' => 'dorothy.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_register_application.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PassengerApps_register_application.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'register_application',\n    array (\n        'name' => 'Name of Application',\n        'path' => '/slippers',\n        'domain' => 'dorothy.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 66"
      }
    },
    "/PassengerApps/unregister_application": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function unregisters a [Passenger application](https://go.cpanel.net/cpaneldocsApplicationManager) on an account.\n\n**Note:**\n\n  * This function **only** unregisters an application. It does **not** delete the application. You **must** manually delete the application from your system.\n  * When you disable the [Web Server role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "PassengerApps-unregister_application",
        "parameters": [
          {
            "description": "The application to unregister.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "slippers",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "unregister_application",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "PassengerApps",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Unregister Passenger application",
        "tags": [
          "PassengerApps",
          "Application Manager"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  PassengerApps \\\n  unregister_application \\\n  name='slippers'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/PassengerApps/unregister_application?name=slippers"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PassengerApps_unregister_application.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PassengerApps_unregister_application.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PassengerApps/,\n    q/unregister_application/,\n    {\n        'name' => 'slippers',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PassengerApps_unregister_application.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PassengerApps_unregister_application.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PassengerApps',\n    'unregister_application',\n    array (\n        'name' => 'slippers',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 66"
      }
    },
    "/PasswdStrength/get_required_strength": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves an application's minimum required password strength.",
        "operationId": "PasswdStrength-get_required_strength",
        "parameters": [
          {
            "description": "The application's name.",
            "in": "query",
            "name": "app",
            "required": true,
            "schema": {
              "enum": [
                "createacct",
                "ftp",
                "htaccess",
                "mysql",
                "passwd",
                "pop",
                "postgres",
                "sshkey",
                "webdisk",
                "virtual"
              ],
              "example": "webdisk",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_required_strength",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "PasswdStrength",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "strength": {
                              "description": "The application's minimum password strength.",
                              "example": 0,
                              "maximum": 100,
                              "minimum": 0,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return minimum required password strength",
        "tags": [
          "PasswdStrength",
          "Password Strength"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  PasswdStrength \\\n  get_required_strength \\\n  app='webdisk'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/PasswdStrength/get_required_strength?app=webdisk"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file PasswdStrength_get_required_strength.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/PasswdStrength_get_required_strength.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/PasswdStrength/,\n    q/get_required_strength/,\n    {\n        'app' => 'webdisk',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file PasswdStrength_get_required_strength.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/PasswdStrength_get_required_strength.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'PasswdStrength',\n    'get_required_strength',\n    array (\n        'app' => 'webdisk',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Personalization/get": {
      "post": {
        "x-readonly": true,
        "description": "This function retrieves the data from an NVData file on disk. cPanel\nNVData is a per-account configuration storage mechanism that you can use to\nmaintain persistent cPanel & WHM settings across multiple sessions. This includes\ncustom settings for your own themes and plugins.\n\n**Note:**\n\nNVData keys and values are limited to 128 and 2048 bytes, respectively.",
        "operationId": "Personalization-get",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "example": {
                  "names": [
                    "coffee",
                    "milk"
                  ]
                },
                "properties": {
                  "names": {
                    "description": "List of NVData keys to query the server about.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Personalization",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": {
                            "coffee": {
                              "reason": "OK",
                              "success": 1,
                              "value": "hot"
                            },
                            "milk": {
                              "reason": "OK",
                              "success": 1,
                              "value": "cold"
                            }
                          },
                          "properties": {
                            "personalization": {
                              "additionalProperties": {
                                "properties": {
                                  "reason": {
                                    "description": "The message that describes the failure if `success` returns `0`, or `OK` if `success` returns `1`.",
                                    "example": "OK",
                                    "type": "string"
                                  },
                                  "success": {
                                    "description": "Whether the function successfully retrieved the value from the server.\n  - `1` — Successful.\n  - `0` — Unsuccessful.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "value": {
                                    "description": "The value stored for the associated NVData key, or a null value if the key does not exist in the store.",
                                    "nullable": true,
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "The retrieved NVData information stored on the server.\n\n**Note:**\n\n* You set this return's name based on the keys that you provide in the `personalization` parameter with the UAPI `Personalization::set` function.\n* This return's name is the NVData key's name."
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success\n- `0` — Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Retrieve NVData data from file",
        "tags": [
          "Personalization"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "echo '{\"names\":[\"coffee\",\"milk\"]}' | \\\nuapi --input=json --output=jsonpretty \\\n  --user=username \\\n  Personalization \\\n  get"
          },
          {
            "label": "HTTP Request (Wire Format)",
            "lang": "HTTP",
            "source": "POST /cpsess##########/execute/Personalization/get HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 27\n\n{\"names\":[\"coffee\",\"milk\"]}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 74"
      }
    },
    "/Personalization/set": {
      "post": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function saves its data to an NVData file on disk. cPanel\nNVData is a per-account configuration storage mechanism that you can use to\nmaintain persistent cPanel & WHM settings across multiple sessions. This includes\ncustom settings for your own themes and plugins.\n\n**Note:**\n\nNVData keys and values are limited to 128 and 2048 bytes, respectively.",
        "operationId": "Personalization-set",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "example": {
                  "personalization": {
                    "coffee": "hot",
                    "milk": "cold"
                  }
                },
                "properties": {
                  "personalization": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "The NVData keys and values to update.",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Personalization",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": {
                            "coffee": {
                              "reason": "OK",
                              "success": 1,
                              "value": "hot"
                            },
                            "milk": {
                              "reason": "OK",
                              "success": 1,
                              "value": "cold"
                            }
                          },
                          "properties": {
                            "personalization": {
                              "additionalProperties": {
                                "properties": {
                                  "reason": {
                                    "description": "The message that describes the failure if `success` returns `0`, or `OK` if `success` returns `1`.",
                                    "example": "OK",
                                    "type": "string"
                                  },
                                  "success": {
                                    "description": "Whether the function successfully saved the value on the server.\n  - `1` — Successful.\n  - `0` — Unsuccessful.",
                                    "enum": [
                                      0,
                                      1
                                    ],
                                    "example": 1,
                                    "type": "integer"
                                  },
                                  "value": {
                                    "description": "The value stored for the associated NVData key, or a null value if the key does not exist in the store.",
                                    "nullable": true,
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "The saved NVData information stored on the server.\n\n**Note:**\n\nYou set this return's name based on the keys that you provide in the `personalization` parameter."
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` — Success\n- `0` — Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Save NVData data to file",
        "tags": [
          "Personalization"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "echo '{\"personalization\":{\"coffee\":\"hot\",\"milk\":\"cold\"}}' | \\\nuapi --input=json --output=jsonpretty \\\n  --user=username \\\n  Personalization \\\n  set"
          },
          {
            "label": "HTTP Request (Wire Format)",
            "lang": "HTTP",
            "source": "POST /cpsess##########/execute/Personalization/set HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 50\n\n{\"personalization\":{\"coffee\":\"hot\",\"milk\":\"cold\"}}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 74"
      }
    },
    "/Plugins/can_show_promotions": {
      "get": {
        "description": "This function determines if plugin promotions show in cPanel.",
        "operationId": "Plugins-can_show_promotions",
        "parameters": [
          {
            "description": "The plugin whose promotions to target.\n\n**Note:**\n\nThe only valid value is 'koality', which targets Site Quality Monitoring.",
            "in": "query",
            "name": "plugin",
            "required": true,
            "schema": {
              "example": "koality",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "can_show_promotions",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Plugins",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object that contains information about the plugin's promotions.",
                          "properties": {
                            "can_show_promotions": {
                              "description": "Whether the plugin can show promotions.\n* `1` — Can show promotions.\n* `0` — Can not show promotions.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors that the API generated.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages the API generated.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable plugin promotions",
        "tags": [
          "Plugins"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Plugins \\\n  can_show_promotions\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Plugins/can_show_promotions"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Plugins_can_show_promotions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>\n#    to .../frontend/<theme-name>/api_examples/Plugins_can_show_promotions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Plugins/,\n    q/can_show_promotions/,\n    {\n        'plugin' => 'koality',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Plugins_can_show_promotions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>\n//    to .../frontend/<theme-name>/api_examples/Plugins_can_show_promotions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Plugins',\n    'can_show_promotions',\n    {\n        'plugin' => 'koality',\n    }\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 110,
        "x-cpanel-plugin": "Plugins"
      }
    },
    "/Plugins/create_user": {
      "get": {
        "description": "This function implements third-party user creation.",
        "operationId": "Plugins-create_user",
        "parameters": [
          {
            "description": "The parameters required for the third-party account.",
            "in": "query",
            "name": "Parameters",
            "schema": {
              "properties": {
                "plugin": {
                  "description": "The name of the plugin to create a user for.",
                  "type": "string"
                }
              },
              "required": [
                "plugin"
              ],
              "additionalProperties": {
                "type": "object",
                "nullable": true,
                "description": "One or more additional parameters to pass through to the external API call.",
                "x-additionalPropertiesName": "example_parameter"
              },
              "example": {
                "plugin": "xovi"
              },
              "type": "object"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "create_user",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Plugins",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "The returned data from a third-party API call.",
                          "additionalProperties": {
                            "description": "The returned values from a third-party API call.",
                            "type": "string",
                            "x-additionalPropertiesName": "apiToken",
                            "nullable": true
                          },
                          "example": {
                            "apiToken": "b06950548166672ca"
                          },
                          "type": "object",
                          "nullable": true
                        },
                        "errors": {
                          "description": "List of errors that the API generated.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages the API generated.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create third-party user",
        "tags": [
          "Plugins"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Plugins \\\n  create_user \\\n  plugin='xovi'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Plugins/create_user?plugin=xovi"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account, where theme-name represents\n# jupiter.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Plugins_create_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Plugins_create_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Plugins/,\n    q/create_user/,\n    {\n        'plugin' => 'xovi',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account, where theme-name represents\n// jupiter.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Plugins_create_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Plugins_create_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Plugins',\n    'create_user',\n    array (\n        'plugin' => 'xovi',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": 118,
        "x-cpanel-plugin": "Plugins"
      }
    },
    "/Postgresql/create_database": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a PostgreSQL® database.\n\n**Important:**\n\nWhen you disable the [PostgreSQL role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "Postgresql-create_database",
        "parameters": [
          {
            "description": "The database's name.\n\n**Note**:\n\n  If database prefixing is enabled, this parameter **must** include the database prefix for the account.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "database",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "create_database",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create PostgreSQL database",
        "tags": [
          "Postgresql",
          "PostgreSQL Database Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  create_database \\\n  name='database'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/create_database?name=database"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_create_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_create_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/create_database/,\n    {\n        'name' => 'database',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_create_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_create_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'create_database',\n    array (\n        'name' => 'database',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Postgresql/create_user": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function creates a PostgreSQL® database user.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Postgresql-create_user",
        "parameters": [
          {
            "description": "The database user's name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "dbuser",
              "type": "string"
            }
          },
          {
            "description": "The new user's password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "123456luggage",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "create_user",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create PostgreSQL user",
        "tags": [
          "Postgresql",
          "PostgreSQL User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  create_user \\\n  name='dbuser' \\\n  password='123456luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/create_user?name=dbuser&password=123456luggage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_create_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_create_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/create_user/,\n    {\n        'name' => 'dbuser',\n        'password' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_create_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_create_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'create_user',\n    array (\n        'name' => 'dbuser',\n        'password' => '123456luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Postgresql/delete_database": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes a PostgreSQL® database.\n\n**Important:**\n\n  When you disable the [Postgres role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Postgresql-delete_database",
        "parameters": [
          {
            "description": "The database's name.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "database",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_database",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete PostgreSQL database",
        "tags": [
          "Postgresql",
          "PostgreSQL Database Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  delete_database \\\n  name='database'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/delete_database?name=database"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_delete_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_delete_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/delete_database/,\n    {\n        'name' => 'database',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_delete_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_delete_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'delete_database',\n    array (\n        'name' => 'database',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 54"
      }
    },
    "/Postgresql/delete_user": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes a PostgreSQL® user.\n\n**Important:**\n\n  When you disable the [PostgreSQL role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Postgresql-delete_user",
        "parameters": [
          {
            "description": "The PostgreSQL user's name.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "example": "example",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_user",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "*`1` - Success.\n*`0` - Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete PostgreSQL user",
        "tags": [
          "Postgresql",
          "PostgreSQL User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  delete_user \\\n  name='example'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/delete_user?name=example"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_delete_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_delete_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/delete_user/,\n    {\n        'name' => 'example',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_delete_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_delete_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'delete_user',\n    array (\n        'name' => 'example',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/Postgresql/get_restrictions": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the PostgreSQL® user and database name length restrictions.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.      ",
        "operationId": "Postgresql-get_restrictions",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_restrictions",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "max_database_name_length": {
                              "description": "The maximum length of a database name.",
                              "example": 63,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "max_username_length": {
                              "description": "The maximum length of a database username.",
                              "example": 63,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "prefix": {
                              "description": "If database prefixing is enabled, this return outputs the database prefix. A valid string up to eight characters and an underscore (`_`).",
                              "example": "example_",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return PostgreSQL name length restrictions",
        "tags": [
          "Postgresql",
          "PostgreSQL Database Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  get_restrictions\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/get_restrictions"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_get_restrictions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_get_restrictions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/get_restrictions/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_get_restrictions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_get_restrictions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'get_restrictions'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Postgresql/grant_all_privileges": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function grants all privileges for a PostgreSQL® database to a database user.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "Postgresql-grant_all_privileges",
        "parameters": [
          {
            "description": "The database's name.\n\n**Note**\n\nIf database prefixing is enabled, this value **must** include the database prefix for the account.",
            "in": "query",
            "name": "database",
            "required": true,
            "schema": {
              "example": "example_database",
              "type": "string"
            }
          },
          {
            "description": "The database user's name.\n\n**Note**\n\nIf database prefixing is enabled, this value **must** include the database prefix for the account.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "example_dbuser",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "grant_all_privileges",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable all user privileges on PostgreSQL database",
        "tags": [
          "Postgresql",
          "PostgreSQL User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  grant_all_privileges \\\n  user='example_dbuser' \\\n  database='example_database'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/grant_all_privileges?user=example_dbuser&database=example_database"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_grant_all_privileges.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_grant_all_privileges.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/grant_all_privileges/,\n    {\n        'user' => 'example_dbuser',\n        'database' => 'example_database',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_grant_all_privileges.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_grant_all_privileges.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'grant_all_privileges',\n    array (\n        'user' => 'example_dbuser',\n        'database' => 'example_database',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Postgresql/list_databases": {
      "get": {
        "x-readonly": true,
        "description": "This function lists an account's PostgreSQL® databases.\n\n**Important:**\n\n  When you disable the [*Postgres* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Postgresql-list_databases",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_databases",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "database": {
                                "description": "The database name.",
                                "example": "user_db",
                                "type": "string"
                              },
                              "disk_usage": {
                                "description": "The disk space that the database uses, in bytes.",
                                "example": 673,
                                "type": "integer"
                              },
                              "users": {
                                "description": "An array of database usernames.\n\n**Note:**\n\n  If no users exist on a database, the function returns an empty array",
                                "items": {
                                  "example": "db_user",
                                  "type": "string"
                                },
                                "minimum": 0,
                                "type": "array"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return PostgreSQL databases",
        "tags": [
          "Postgresql",
          "PostgreSQL Database Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  list_databases\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/list_databases"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_list_databases.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_list_databases.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/list_databases/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_list_databases.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_list_databases.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'list_databases'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/Postgresql/list_users": {
      "get": {
        "x-readonly": true,
        "description": "This function lists an account's PostgreSQL® database users.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Postgresql-list_users",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_users",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of strings which are PostgreSQL database usernames.",
                          "example": [
                            "example_user1",
                            "example_user2"
                          ],
                          "items": {
                            "example": "example_user1",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return PostgreSQL users",
        "tags": [
          "Postgresql",
          "PostgreSQL User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  list_users\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/list_users"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_list_users.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_list_users.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/list_users/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_list_users.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_list_users.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'list_users'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/Postgresql/rename_database": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function renames a PostgreSQL® database.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Postgresql-rename_database",
        "parameters": [
          {
            "description": "The database's new name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.",
            "in": "query",
            "name": "newname",
            "required": true,
            "schema": {
              "example": "database2",
              "type": "string"
            }
          },
          {
            "description": "The database's current name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.",
            "in": "query",
            "name": "oldname",
            "required": true,
            "schema": {
              "example": "database",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "rename_database",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update PostgreSQL database name",
        "tags": [
          "Postgresql",
          "PostgreSQL Database Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  rename_database \\\n  oldname='database' \\\n  newname='database2'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/rename_database?oldname=database&newname=database2"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_rename_database.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_rename_database.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/rename_database/,\n    {\n        'oldname' => 'database',\n        'newname' => 'database2',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_rename_database.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_rename_database.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'rename_database',\n    array (\n        'oldname' => 'database',\n        'newname' => 'database2',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Postgresql/rename_user": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function renames a PostgreSQL® database user.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Postgresql-rename_user",
        "parameters": [
          {
            "description": "The database user's new name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.",
            "in": "query",
            "name": "newname",
            "required": true,
            "schema": {
              "example": "dbuser2",
              "type": "string"
            }
          },
          {
            "description": "The database user's current name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.",
            "in": "query",
            "name": "oldname",
            "required": true,
            "schema": {
              "example": "dbuser",
              "type": "string"
            }
          },
          {
            "description": "The database user's new password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "123456luggage",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "rename_user",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update PostgreSQL username",
        "tags": [
          "Postgresql",
          "PostgreSQL User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  rename_user \\\n  oldname='dbuser' \\\n  newname='dbuser2' \\\n  password='123456luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/rename_user?oldname=dbuser&newname=dbuser2&password=123456luggage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_rename_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_rename_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/rename_user/,\n    {\n        'oldname' => 'dbuser',\n        'newname' => 'dbuser2',\n        'password' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_rename_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_rename_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'rename_user',\n    array (\n        'oldname' => 'dbuser',\n        'newname' => 'dbuser2',\n        'password' => '123456luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Postgresql/rename_user_no_password": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function renames a PostgreSQL® database user.\n\n**Warning:**\n\n* If you rename a PostgreSQL user, you **must** set the password for the database user. This is required because of the md5 hash that PostgreSQL creates to store user passwords.\n* We **strongly** recommend that you use the `Postgresql::rename_user function` instead of this one.\n\n**Important:**\n\nWhen you disable the  [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Postgresql-rename_user_no_password",
        "parameters": [
          {
            "description": "The database user's new name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.",
            "in": "query",
            "name": "newname",
            "required": true,
            "schema": {
              "example": "dbuser2",
              "type": "string"
            }
          },
          {
            "description": "The database user's current name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.",
            "in": "query",
            "name": "oldname",
            "required": true,
            "schema": {
              "example": "dbuser",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "rename_user_no_password",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update PostgreSQL username without password",
        "tags": [
          "Postgresql",
          "PostgreSQL User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  rename_user_no_password \\\n  oldname='dbuser' \\\n  newname='dbuser2'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/rename_user_no_password?oldname=dbuser&newname=dbuser2"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_rename_user_no_password.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_rename_user_no_password.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/rename_user_no_password/,\n    {\n        'oldname' => 'dbuser',\n        'newname' => 'dbuser2',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_rename_user_no_password.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_rename_user_no_password.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'rename_user_no_password',\n    array (\n        'oldname' => 'dbuser',\n        'newname' => 'dbuser2',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Postgresql/revoke_all_privileges": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function revokes all privileges for a PostgreSQL® database from a database user.\n\n**Important:**\n\nWhen you disable the [*PostgreSQL* role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Postgresql-revoke_all_privileges",
        "parameters": [
          {
            "description": "The database's name.\n\n**Note**\n\nIf database prefixing is enabled, this value **must** include the database prefix for the account.",
            "in": "query",
            "name": "database",
            "required": true,
            "schema": {
              "example": "example_database",
              "type": "string"
            }
          },
          {
            "description": "The database user's name.\n\n**Note**\n\nIf database prefixing is enabled, this value **must** include the database prefix for the account.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "example_dbuser",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "revoke_all_privileges",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove PostgreSQL user privileges",
        "tags": [
          "Postgresql",
          "PostgreSQL User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  revoke_all_privileges \\\n  user='example_dbuser' \\\n  database='example_database'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/revoke_all_privileges?user=example_dbuser&database=example_database"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_revoke_all_privileges.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_revoke_all_privileges.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/revoke_all_privileges/,\n    {\n        'user' => 'example_dbuser',\n        'database' => 'example_database',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_revoke_all_privileges.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_revoke_all_privileges.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'revoke_all_privileges',\n    array (\n        'user' => 'example_dbuser',\n        'database' => 'example_database',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Postgresql/set_password": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function changes a PostgreSQL® database user's password.\n\n**Important:**\n\n  When you disable the [Postgres role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Postgresql-set_password",
        "parameters": [
          {
            "description": "The user's new password.",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "example": "12345luggage",
              "type": "string"
            }
          },
          {
            "description": "The database user's name.\n\n**Note:**\n\nIf database prefixing is enabled, this parameter **must** include the database prefix for the account.",
            "in": "query",
            "name": "user",
            "required": true,
            "schema": {
              "example": "dbuser",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "set_password",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update PostgreSQL user password",
        "tags": [
          "Postgresql",
          "PostgreSQL User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  set_password \\\n  user='dbuser' \\\n  password='12345luggage'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/set_password?user=dbuser&password=12345luggage"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_set_password.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Postgresql_set_password.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/set_password/,\n    {\n        'user' => 'dbuser',\n        'password' => '12345luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_set_password.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Postgresql_set_password.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'set_password',\n    array (\n        'user' => 'dbuser',\n        'password' => '12345luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/Postgresql/update_privileges": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function synchronizes PostgreSQL® database user privileges on an account.\n\nSome versions of PostgreSQL are ANSI SQL-92 compliant and do not support recursive grants,\nwildcard grants, or future grants. If you use phpPgAdmin, or manually create new tables, and\nyou want multiple PostgreSQL users to access your PostgreSQL tables, you may either call this\nAPI function or click _Synchronize Grants_ in the _PostgreSQL Databases_ interface\n(_Home >> Databases >> PostgreSQL Databases_) after you add a table.\n\n**Important:**\n\nWhen you disable the [PostgreSQL role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Postgresql-update_privileges",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "update_privileges",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Postgresql",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Update PostgreSQL® privileges",
        "tags": [
          "Postgresql",
          "PostgreSQL User Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Postgresql \\\n  update_privileges\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Postgresql/update_privileges"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Postgresql_update_privileges.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/Postgresql_update_privileges.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Postgresql/,\n    q/update_privileges/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Postgresql_update_privileges.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/Postgresql_update_privileges.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Postgresql',\n    'update_privileges'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 84"
      }
    },
    "/Pushbullet/send_test_message": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function sends a Pushbullet™ test message to determine that the token is valid and that the account holder can receive the message.",
        "operationId": "Pushbullet-send_test_message",
        "parameters": [
          {
            "description": "The Pushbullet access token.\n\n**Note:**\n\n* Your Pushbullet token is available on\n[Pushbullet's My Account](https://www.pushbullet.com/account) page under\nthe *Access Token* heading.\n* This is confidential information that your server sends via a secure channel.",
            "in": "query",
            "name": "access_token",
            "required": true,
            "schema": {
              "example": "a1b2c3d4e5f6g7h8i9j0",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "send_test_message",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Pushbullet",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "message_id": {
                              "description": "The test message's ID.",
                              "example": "554d2cbd-efe61da3cacb",
                              "type": "string"
                            },
                            "payload": {
                              "description": "The payload from the Pushbullet server. For more information, read\n[Pushbullet's API documentation](https://docs.pushbullet.com/).\n\n**Warning:**\n\nThis return may contain values that are Boolean primitives. JSON\nproperly represents these, but XML represents them as `0` or `1`.",
                              "example": {
                                "active": true,
                                "body": "This message confirms that “hostname.example.com“ (192.168.0.20)\ncan send a message to you via Pushbullet.\n\nThis message was sent on Monday, May 18, 2015 at 7:12:20 PM UTC.",
                                "created": 1431976341.38872,
                                "direction": "self",
                                "dismissed": false,
                                "iden": "ujw5ScArtjUsjAeRXXMLGS",
                                "modified": 1431976341.39182,
                                "receiver_email": "user@example.com",
                                "receiver_email_normalized": "user@example.com",
                                "receiver_iden": "ujw5ScArtjU",
                                "sender_email": "user@example.com",
                                "sender_email_normalized": "user@example.com",
                                "sender_iden": "ujw5ScArtjU",
                                "sender_name": "Firstname Lastname",
                                "title": "Test message (ID: 555a3994-173a4a271062d)",
                                "type": "note"
                              },
                              "type": "object"
                            }
                          }
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Validate Pushbullet token",
        "tags": [
          "Pushbullet"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Pushbullet \\\n  send_test_message \\\n  access_token='a1b2c3d4e5f6g7h8i9j0'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Pushbullet/send_test_message?access_token=a1b2c3d4e5f6g7h8i9j0"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Pushbullet_send_test_message.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Pushbullet_send_test_message.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Pushbullet/,\n    q/send_test_message/,\n    {\n        'access_token' => 'a1b2c3d4e5f6g7h8i9j0',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Pushbullet_send_test_message.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Pushbullet_send_test_message.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Pushbullet',\n    'send_test_message',\n    array (\n        'access_token' => 'a1b2c3d4e5f6g7h8i9j0',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.52"
      }
    },
    "/Quota/get_local_quota_info": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the cPanel account's quota for the server where you run the function. For example, a [distributed cPanel account](https://go.cpanel.net/glossaryD) could approach its quota. The servers will balance that cPanel user's quota between the parent and the child node.\n\n**Note:**\n\n  This function runs on **only** the local server. To retrieve the cPanel account's total quota, use the UAPI `Quota::get_quota` function instead.",
        "operationId": "Quota-get_local_quota_info",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_local_quota_info",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Quota",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "byte_limit": {
                              "description": "The limit for disk space the cPanel account may use on this server, in bytes.\n* A positive integer.\n* `0` - Unlimited or disabled server quotas.\n\n**Note:**\n\n This value does **not** update immediately.",
                              "example": 262144000,
                              "minimum": 0,
                              "type": "integer"
                            },
                            "bytes_used": {
                              "description": "The amount of disk space the cPanel account uses on this server, in bytes.\n* A positive integer.\n* `0` - No usage or disabled server quotas.",
                              "example": 4149284,
                              "minimum": 0,
                              "type": "integer"
                            },
                            "inode_limit": {
                              "description": "The limit for inodes that the cPanel account may use on this server.\n* A positive integer.\n* `0` - Unlimited or disabled server quotas.",
                              "example": 0,
                              "minimum": 0,
                              "type": "integer"
                            },
                            "inodes_used": {
                              "description": "The number of inodes that the cPanel account uses on this server.\n* A positive integer.\n* `0` - No usage or disabled server quotas.",
                              "example": 1035,
                              "minimum": 0,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return local disk quota information",
        "tags": [
          "Quota",
          "Disk Quotas"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Quota \\\n  get_local_quota_info\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Quota/get_local_quota_info"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Quota_get_local_quota_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Quota_get_local_quota_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Quota/,\n    q/get_local_quota_info/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Quota_get_local_quota_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Quota_get_local_quota_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Quota',\n    'get_local_quota_info'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 88"
      }
    },
    "/Quota/get_quota_info": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the cPanel account's quota.",
        "operationId": "Quota-get_quota_info",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_quota_info",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Quota",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object containing the cPanel account's quota.",
                          "properties": {
                            "inode_limit": {
                              "description": "The account's inode quota limit.\n\n* `0` — Unlimited or disabled server quotas.",
                              "example": 0,
                              "oneOf": [
                                {
                                  "description": "Unlimited or disabled server quotas.",
                                  "enum": [
                                    0
                                  ],
                                  "type": "integer"
                                },
                                {
                                  "description": "A positive integer.",
                                  "minimum": 1,
                                  "type": "integer"
                                }
                              ]
                            },
                            "inodes_remain": {
                              "description": "The account's available inode quota.\n\n* `0` — Unlimited or disabled server quotas.",
                              "example": 0,
                              "oneOf": [
                                {
                                  "description": "Unlimited or disabled server quotas.",
                                  "enum": [
                                    0
                                  ],
                                  "type": "integer"
                                },
                                {
                                  "description": "A positive integer.",
                                  "minimum": 1,
                                  "type": "integer"
                                }
                              ]
                            },
                            "inodes_used": {
                              "description": "The account's number of used inodes.\n\n* `0` — No usage or disabled server quotas.",
                              "example": 1035,
                              "oneOf": [
                                {
                                  "description": "No usage or disabled server quotas.",
                                  "enum": [
                                    0
                                  ],
                                  "type": "integer"
                                },
                                {
                                  "description": "A positive integer.",
                                  "minimum": 1,
                                  "type": "integer"
                                }
                              ]
                            },
                            "megabyte_limit": {
                              "description": "The account's disk space limit, in megabytes (MB).\n\n* `0.00` — Unlimited or disabled server quotas.",
                              "example": 0,
                              "oneOf": [
                                {
                                  "description": "Unlimited or disabled server quotas.",
                                  "enum": [
                                    0
                                  ],
                                  "type": "number"
                                },
                                {
                                  "description": "A decimal number.",
                                  "minimum": 1,
                                  "type": "number"
                                }
                              ]
                            },
                            "megabytes_remain": {
                              "description": "The account's available disk space in, megabytes (MB).\n\n* `0.00` — Unlimited or disabled server quotas.",
                              "example": 0,
                              "oneOf": [
                                {
                                  "description": "Unlimited or disabled server quotas.",
                                  "enum": [
                                    0
                                  ],
                                  "type": "number"
                                },
                                {
                                  "description": "A decimal number.",
                                  "minimum": 1,
                                  "type": "number"
                                }
                              ]
                            },
                            "megabytes_used": {
                              "description": "The account's used disk space, in megabytes (MB).\n\n* `0.00` — No usage or disabled server quotas.",
                              "example": 5.46,
                              "oneOf": [
                                {
                                  "description": "Unlimited or disabled server quotas.",
                                  "enum": [
                                    0
                                  ],
                                  "type": "number"
                                },
                                {
                                  "description": "A decimal number.",
                                  "minimum": 1,
                                  "type": "number"
                                }
                              ]
                            },
                            "under_inode_limit": {
                              "description": "Whether the account is under its inode limit.\n\n* `1` — Under limit.\n* `0` — Over limit.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 0,
                              "type": "integer"
                            },
                            "under_megabyte_limit": {
                              "description": "Whether the account is under its disk space limit, in megabytes (MB).\n\n* `1` — Under limit.\n* `0` — Over limit.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "under_quota_overall": {
                              "description": "Whether the account is under both its inode and disk megabyte (MB) limit.\n\n* `1` — Under limit.\n* `0` — Over limit.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return disk quota information",
        "tags": [
          "Quota",
          "Disk Quotas"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Quota \\\n  get_quota_info\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Quota/get_quota_info"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Quota_get_quota_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Quota_get_quota_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Quota/,\n    q/get_quota_info/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Quota_get_quota_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Quota_get_quota_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Quota',\n    'get_quota_info'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 56"
      }
    },
    "/Resellers/list_accounts": {
      "get": {
        "x-readonly": true,
        "description": "This function lists all of a reseller's cPanel accounts.",
        "operationId": "Resellers-list_accounts",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "list_accounts",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Resellers",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing the reseller's cPanel accounts.",
                          "items": {
                            "properties": {
                              "domain": {
                                "description": "The cPanel account's domain.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "select": {
                                "description": "Whether the cPanel account's user is currently logged in.\n\n* `1` — Logged in.\n* An empty string — **Not** logged in.",
                                "enum": [
                                  "1",
                                  ""
                                ],
                                "example": "1",
                                "type": "string"
                              },
                              "user": {
                                "description": "The cPanel account's username.",
                                "example": "username",
                                "format": "username",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return reseller's cPanel accounts",
        "tags": [
          "Resellers",
          "Account Information"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Resellers \\\n  list_accounts\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Resellers/list_accounts"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Resellers_list_accounts.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Resellers_list_accounts.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Resellers/,\n    q/list_accounts/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Resellers_list_accounts.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Resellers_list_accounts.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Resellers',\n    'list_accounts'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11"
      }
    },
    "/ResourceUsage/get_usages": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves resource usage and custom statistics for a cPanel user account.",
        "operationId": "ResourceUsage-get_usages",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_usages",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "ResourceUsage",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing resource usage information from the account's query.",
                          "items": {
                            "properties": {
                              "description": {
                                "description": "The resource's UI display name.",
                                "example": "MySQL® Databases",
                                "type": "string"
                              },
                              "error": {
                                "description": "An error message, if applicable.",
                                "example": null,
                                "nullable": true,
                                "type": "string"
                              },
                              "formatter": {
                                "description": "The resource's defined output format.\n\n* `format_bytes`\n* `format_bytes_per_second`\n* `percent`\n* `null` — No defined output format.\n\n**Note:**\n\nThird-party modules will return their defined formatter value.",
                                "example": "format_bytes",
                                "oneOf": [
                                  {
                                    "description": "The resource's defined output format.",
                                    "enum": [
                                      "format_bytes",
                                      "format_bytes_per_second",
                                      "percent"
                                    ],
                                    "nullable": true,
                                    "type": "string"
                                  },
                                  {
                                    "description": "A third-party module's defined formatter value.",
                                    "type": "string"
                                  }
                                ]
                              },
                              "id": {
                                "description": "The resource's reference name.\n* `disk_usage`\n* `filesusage` - This function **only** returns this value if the *Display File Usage information in the cPanel stats bar* setting is enabled in the *Display* section of WHM's [*Tweak Settings*](https://go.cpanel.net/whmdocsTweakSettings#display) interface (*WHM >> Home >> Server Configuration >> Tweak Settings*).\n* `cachedmysqldiskusage`\n* `cachedpostgresdiskusage` - This function **only** returns this value if [PostgreSQL® databases](https://go.cpanel.net/cpaneldocsPostgreSQLDatabases) are enabled.\n* `bandwidth`\n* `addon_domains`\n* `subdomains`\n* `aliases`\n* `email_accounts`\n* `mailing_lists` - This function **only** returns this value if the Mailman service is enabled in WHM's [*Service Manager*](https://go.cpanel.net/whmdocsServiceManager) interface (*WHM >> Home >> Service Configuration >> Service Manager*).\n* `autoresponders`\n* `forwarders`\n* `email_filters`\n* `ftp_accounts` - This function **only** returns this value if FTP accounts exist on the server.\n* `mysql_databases` - This function **only** returns this value if MySQL® databases are enabled.\n* `postgresql_databases`\n\n**Note:**\n\nCertain `id` values may **not** appear, based on the [server's current profile](https://go.cpanel.net/howtouseserverprofiles#profiles).",
                                "example": "mysql_databases",
                                "type": "string"
                              },
                              "maximum": {
                                "description": "The resources's maximum usage value.\n\n**Note:**\n\n This function returns an null value for an (unlimited) quota.",
                                "example": 15,
                                "minimum": 0,
                                "nullable": true,
                                "type": "integer"
                              },
                              "url": {
                                "description": "The resource's defined URL link to its corresponding interface, in applicable.",
                                "example": "sql/index.html",
                                "format": "url-path",
                                "type": "string"
                              },
                              "usage": {
                                "description": "The resource's current usage value.",
                                "example": 0,
                                "minimum": 0,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- `1` - Success.\n- `0` - Failed. Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return resource usage and custom statistics",
        "tags": [
          "ResourceUsage",
          "Resource Usage and Statistics"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  ResourceUsage \\\n  get_usages\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/ResourceUsage/get_usages"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file ResourceUsage_get_usages.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/ResourceUsage_get_usages.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/ResourceUsage/,\n    q/get_usages/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file ResourceUsage_get_usages.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/ResourceUsage_get_usages.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'ResourceUsage',\n    'get_usages'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 70"
      }
    },
    "/Restore/directory_listing": {
      "get": {
        "x-readonly": true,
        "description": "This function lists all of the backup files and directories in the user's home directory.\n\n**Important:**\n\nWhen you disable the [File Storage role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Restore-directory_listing",
        "parameters": [
          {
            "description": "A path to a subdirectory within the user's home directory, or any level below it.\n\n**Note:**\n\nThe value of this parameter **must** begin and end with a forward slash (`/`) for security purposes.",
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "example": "/public_html/",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "directory_listing",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Restore",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object that contains information about a specific item stored in the backup.",
                          "items": {
                            "properties": {
                              "conflict": {
                                "description": "Whether a difference exists between the `type` and `onDiskType` returns.\n* `1` - Conflict exists.\n* `0` - **No** conflict exists.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 0,
                                "type": "integer"
                              },
                              "exists": {
                                "description": "Whether the file exists in the user's directory or **only** in the backup.\n* `1` - File exists in the user's directory.\n* `0` - File exists **only** in the backup.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "name": {
                                "description": "The name of the file or directory.",
                                "example": "public_html",
                                "type": "string"
                              },
                              "onDiskType": {
                                "description": "The item type stored on the disk.\n* `dir` - A directory.\n* `file` - A file.\n* `symlink` - A symlink.\n* `unknown` - An unknown file type.",
                                "enum": [
                                  "dir",
                                  "file",
                                  "symlink",
                                  "unknown"
                                ],
                                "example": "file",
                                "type": "string"
                              },
                              "type": {
                                "description": "The item type stored in the backup.\n* `dir` - A directory.\n* `file` - A file.\n* `symlink` - A symlink.\n* `unknown` - An unknown file type.",
                                "enum": [
                                  "dir",
                                  "file",
                                  "symlink",
                                  "unknown"
                                ],
                                "example": "file",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return backups in home directory",
        "tags": [
          "File Restoration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Restore \\\n  directory_listing \\\n  path='/public_html/'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Restore/directory_listing?path=%2fpublic_html%2f"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Restore_directory_listing.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Restore_directory_listing.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Restore/,\n    q/directory_listing/,\n    {\n        'path' => '/public_html/',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Restore_directory_listing.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Restore_directory_listing.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Restore',\n    'directory_listing',\n    array (\n        'path' => '/public_html/',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 68"
      }
    },
    "/Restore/get_users": {
      "get": {
        "x-readonly": true,
        "description": "This function lists a reseller's users that have existing backup metadata.\n\n**Note:**\n\nWhen you disable the [File Storage role](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "Restore-get_users",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_users",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Restore",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of reseller account names.",
                          "items": {
                            "example": "username",
                            "format": "username",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return cPanel accounts with backup metadata",
        "tags": [
          "File Restoration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Restore \\\n  get_users\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Restore/get_users"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Restore_get_users.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Restore_get_users.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Restore/,\n    q/get_users/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Restore_get_users.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Restore_get_users.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Restore',\n    'get_users'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 72"
      }
    },
    "/Restore/query_file_info": {
      "get": {
        "x-readonly": true,
        "description": "This function lists all of an item's backup locations. An item can be a file, a directory, or a symlink.\n\n**Important:**\n\nWhen you disable the [File Storage role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "Restore-query_file_info",
        "parameters": [
          {
            "description": "A file, directory, or symlink in the user's directory tree.\n\n**Note:**\n\nThe value of this parameter **must** begin with a forward slash (`/`).",
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "example": "/public_html/index.php",
              "format": "path",
              "type": "string"
            }
          },
          {
            "description": "Whether to show the `exist` return, which indicates whether the item exists in the\nlocal disk or only in the backup.\n\n* `1` — Show the `exist` return's value.\n* `0` — Do **not** show the `exists` return's value.",
            "in": "query",
            "name": "exists",
            "required": false,
            "schema": {
              "default": 0,
              "enum": [
                1,
                0
              ],
              "example": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "query_file_info",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Restore",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An array of objects containing the item's details.",
                          "items": {
                            "properties": {
                              "backupDate": {
                                "description": "The date when the system created the backup.",
                                "example": "2020-07-01T00:00:00.000Z",
                                "format": "ISO-8601 Date",
                                "type": "string"
                              },
                              "backupID": {
                                "anyOf": [
                                  {
                                    "description": "A daily backup file from a specified backup date.",
                                    "format": "ISO-8601 Date",
                                    "type": "string"
                                  },
                                  {
                                    "description": "An incremental daily backup.",
                                    "enum": [
                                      "incremental"
                                    ],
                                    "type": "string"
                                  },
                                  {
                                    "description": "A weekly or monthly incremental backup.",
                                    "enum": [
                                      "weekly/incremental",
                                      "monthly/incremental"
                                    ],
                                    "type": "string"
                                  },
                                  {
                                    "description": "A weekly or monthly backup from a specified backup date.",
                                    "type": "string"
                                  }
                                ],
                                "description": "The backup's identification.\n\n* A date, in `YYYY-MM-DD` format.\n* `incremental` — An incremental daily backup.\n* The backup frequency (`weekly` or `monthly`) , a slash character (`/`), and the value `incremental`.\n* The backup frequency (`weekly` or `monthly`), a slash character (`/`), and the backup date, in `YYYY-MM-DD` format.",
                                "example": "weekly/2017-07-01",
                                "type": "string"
                              },
                              "backupType": {
                                "description": "The backup type.\n\n* `compressed` —  A compressed tar file.\n* `incremental` — A full tree of files and directories.\n* `uncompressed` — An uncompressed tar file.",
                                "enum": [
                                  "compressed",
                                  "incremental",
                                  "uncompressed"
                                ],
                                "example": "compressed",
                                "type": "string"
                              },
                              "exists": {
                                "description": "Whether the item (a file, a directory, or a symlink) exists in the local disk or only in the backup.\n\n* `1` — The item exists in the local disk.\n* `0` — The item exists only in the backup.\n\n**Note:**\n\nThis return appears **only** if you set the `exists` parameter to `1`.",
                                "enum": [
                                  1,
                                  0
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "fileSize": {
                                "description": "The size, in bytes, of the file in the backup.\n\n**Note:**\n\nThe function returns this value **only** if the item is a file.",
                                "example": 199,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "mtime": {
                                "description": "The file's last modification time.",
                                "example": 1520043240,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "path": {
                                "description": "The identical file path value that the system passed in the function.",
                                "example": "/public_html/index.php",
                                "format": "path",
                                "type": "string"
                              },
                              "type": {
                                "description": "The item type stored in the backup.\n\n* `dir` — A directory.\n* `file` — A file.\n* `symlink` — A symlink.\n* `unknown` — An unknown file type.",
                                "enum": [
                                  "dir",
                                  "file",
                                  "symlink",
                                  "unknown"
                                ],
                                "example": "file",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return backup storage locations",
        "tags": [
          "File Restoration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Restore \\\n  query_file_info \\\n  path='/public_html/index.php'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Restore/query_file_info?path=%2fpublic_html%2findex.php"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Restore_query_file_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Restore_query_file_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Restore/,\n    q/query_file_info/,\n    {\n        'path' => '/public_html/index.php',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Restore_query_file_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Restore_query_file_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Restore',\n    'query_file_info',\n    array (\n        'path' => '/public_html/index.php',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 68"
      }
    },
    "/Restore/restore_file": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function restores a file or directory from a backup to the file or directory's original location.\n\n**Important:**\n\nWhen you disable the [File Storage role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.",
        "operationId": "Restore-restore_file",
        "parameters": [
          {
            "description": "The backup's identification.\n\n* `YYYY-MM-DD` — Restore a daily backup from the specified backup date.\n* `incremental` — Restore a daily incremental backup.\n* `weekly/YYYY-MM-DD` — Restore a weekly backup from the specified backup date.\n* `monthly/YYYY-MM-DD` — Restore a monthly backup from the specified backup date.\n* `weekly/incremental` — Restore a weekly incremental backup.\n* `monthly/incremental` — Restore a monthly incremental backup.",
            "in": "query",
            "name": "backupID",
            "required": true,
            "schema": {
              "anyOf": [
                {
                  "description": "A daily backup file from a specified backup date.",
                  "format": "ISO-8601 Date",
                  "type": "string"
                },
                {
                  "description": "An incremental daily backup.",
                  "enum": [
                    "incremental"
                  ],
                  "type": "string"
                },
                {
                  "description": "A weekly or monthly incremental backup.",
                  "enum": [
                    "weekly/incremental",
                    "monthly/incremental"
                  ],
                  "type": "string"
                },
                {
                  "description": "A weekly or monthly backup from a specified backup date.",
                  "type": "string"
                }
              ],
              "example": "weekly/2017-07-03"
            }
          },
          {
            "description": "Whether to overwrite the file or directory on the disc with its backup replacement.\n\n* `1` — Overwrite the file or directory.\n* `0` — Do **not** overwrite the file or directory.",
            "in": "query",
            "name": "overwrite",
            "required": true,
            "schema": {
              "enum": [
                1,
                0
              ],
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The absolute file or directory's path, within a backup, that you wish to restore.\n\n**Important:**\n\n* The value of this parameter **must** begin with a forward slash (/).\n* You **must** parse filenames properly to prevent a cross-site scripting (XSS) attack.",
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "example": "/public_html/index.php",
              "format": "path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "restore_file",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "Restore",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "An object containing the status of the operation.",
                          "properties": {
                            "success": {
                              "description": "Whether the `overwrite` parameter succeeded.\n\n* `1` — Success.\n* `0` — Failure.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "- 1 - Success\n- 0 - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Restore file or directory",
        "tags": [
          "File Restoration"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  Restore \\\n  restore_file \\\n  backupID='weekly/2017-07-03' \\\n  path='/public_html/index.php' \\\n  overwrite='1'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/Restore/restore_file?backupID=weekly%2f2017-07-03&path=%2fpublic_html%2findex.php&overwrite=1"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file Restore_restore_file.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/Restore_restore_file.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/Restore/,\n    q/restore_file/,\n    {\n        'backupID' => 'weekly/2017-07-03',\n        'path' => '/public_html/index.php',\n        'overwrite' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file Restore_restore_file.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/Restore_restore_file.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'Restore',\n    'restore_file',\n    array (\n        'backupID' => 'weekly/2017-07-03',\n        'path' => '/public_html/index.php',\n        'overwrite' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 68"
      }
    },
    "/SSH/get_port": {
      "get": {
        "x-readonly": true,
        "description": "This function retrieves the server's SSH port.",
        "operationId": "SSH-get_port",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_port",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSH",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "port": {
                              "description": "The server's SSH port.",
                              "example": 22,
                              "maximum": 65535,
                              "minimum": 1,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return SSH port",
        "tags": [
          "SSH"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSH \\\n  get_port\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSH/get_port"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSH_get_port.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSH_get_port.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSH/,\n    q/get_port/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSH_get_port.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSH_get_port.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSH',\n    'get_port'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/SSH/get_shell": {
      "get": {
        "operationId": "SSH-get_shell",
        "x-readonly": true,
        "description": "This function returns whether the cPanel account has shell access and the account's shell path.",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "get_shell",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSH",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "has_terminal_access": {
                              "description": "Whether the cPanel account has shell access.\n\n* `true` - Account has shell access.\n* `false` - Account does not have shell access.\n",
                              "example": true,
                              "type": "boolean"
                            },
                            "shell": {
                              "description": "The cPanel account's shell path.",
                              "example": "/bin/bash",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether cPanel account has shell access",
        "tags": [
          "SSH"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSH \\\n  get_shell\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSH/get_shell"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is wp-squared for WP Squared accounts.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSH_get_shell.live.pl and put this code into that file.\n# 5) In your browser login to a WP Squared account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/SSH_get_shell.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to WP Squared - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSH/,\n    q/get_shell/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from WP Squared - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is wp-squared for WP Squared accounts.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSH_get_shell.live.php and put this code into that file.\n// 5) In your browser login to a WP Squared account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/SSH_get_shell.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to WP Squared - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSH',\n    'get_shell'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from WP Squared - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/SSL/add_autossl_excluded_domains": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function disables AutoSSL for the domains that you specify.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "SSL-add_autossl_excluded_domains",
        "parameters": [
          {
            "description": "A comma-separated list of domains for which to disable AutoSSL.\n\n**Note:**\n\nFor browser-based calls, use a URI encoded comma (`%2C`).",
            "in": "query",
            "name": "domains",
            "required": true,
            "schema": {
              "example": "example.com,example2.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "add_autossl_excluded_domains",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable AutoSSL for domains",
        "tags": [
          "SSL",
          "Auto-generated SSL Certificates"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  add_autossl_excluded_domains \\\n  domains='example.com,example2.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/add_autossl_excluded_domains?domains=example.com%2cexample2.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_add_autossl_excluded_domains.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_add_autossl_excluded_domains.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/add_autossl_excluded_domains/,\n    {\n        'domains' => 'example.com,example2.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_add_autossl_excluded_domains.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_add_autossl_excluded_domains.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'add_autossl_excluded_domains',\n    array (\n        'domains' => 'example.com,example2.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 66"
      }
    },
    "/SSL/can_ssl_redirect": {
      "get": {
        "x-readonly": true,
        "description": "This function determines whether the system can automatically redirect domains on a cPanel account to use SSL.",
        "operationId": "SSL-can_ssl_redirect",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "can_ssl_redirect",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether the system can automatically redirect the domains to use SSL.\n* `1` - Can redirect.\n* `0` - **Cannot** redirect.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether domains can redirect to secure URL",
        "tags": [
          "SSL",
          "cPanel Account SSL Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  can_ssl_redirect\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/can_ssl_redirect"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_can_ssl_redirect.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_can_ssl_redirect.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/can_ssl_redirect/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_can_ssl_redirect.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_can_ssl_redirect.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'can_ssl_redirect'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 80"
      }
    },
    "/SSL/check_shared_cert": {
      "get": {
        "x-readonly": true,
        "deprecated": true,
        "description": "This function checks whether a shared SSL certificate is associated with the account.",
        "operationId": "SSL-check_shared_cert",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "check_shared_cert",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "description": "Whether a shared SSL certificate is associated with the account.\n* `1` - Associated.\n* `0` - Not associated.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 0,
                          "type": "integer"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 0,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return whether shared SSL certificate exists",
        "tags": [
          "SSL",
          "cPanel Account SSL Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  check_shared_cert\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/check_shared_cert"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_check_shared_cert.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_check_shared_cert.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/check_shared_cert/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_check_shared_cert.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_check_shared_cert.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'check_shared_cert'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/SSL/delete_cert": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes an SSL certificate.\n\n**Note:**\n\n* When you call this function, you **must** include the `id` or the `friendly_name`\nparameter.\n* This function **only** deletes certificates from SSL storage. To end SSL\ncoverage for a domain, use the UAPI `SSL::delete_ssl` function instead.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\nand Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.",
        "operationId": "SSL-delete_cert",
        "parameters": [
          {
            "description": "The certificate's friendly name.",
            "in": "query",
            "name": "friendly_name",
            "required": false,
            "schema": {
              "example": "TestCert",
              "type": "string"
            }
          },
          {
            "description": "The certificate's ID.",
            "in": "query",
            "name": "id",
            "required": false,
            "schema": {
              "example": "example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_cert",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "created": {
                                "description": "The date the certificate was created.",
                                "example": 1538308800,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "domains": {
                                "description": "A list of the domains that the certificate covers.",
                                "items": {
                                  "example": "example.com",
                                  "format": "domain",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "ecdsa_curve_name": {
                                "description": "The ECDSA curve that the certificate's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The certificate's key is **not** an ECDSA key.",
                                "enum": [
                                  "prime256v1",
                                  "secp384r1"
                                ],
                                "example": "prime256v1",
                                "nullable": true,
                                "type": "string"
                              },
                              "ecdsa_public": {
                                "description": "The certificate's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an ECDSA key.",
                                "example": null,
                                "nullable": true,
                                "type": "string"
                              },
                              "friendly_name": {
                                "description": "The certificate's friendly name.",
                                "example": "TestCert",
                                "type": "string"
                              },
                              "id": {
                                "description": "The certificate's ID.",
                                "example": "example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3",
                                "type": "string"
                              },
                              "is_self_signed": {
                                "description": "Whether the certificate is self-signed.\n\n* `1` — Self-signed.\n* `0` — Not self-signed.",
                                "enum": [
                                  1,
                                  0
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "issuer.commonName": {
                                "description": "The certificate's Common Name.",
                                "example": "example.com",
                                "type": "string"
                              },
                              "issuer.organizationName": {
                                "description": "The certificate's Organization Name.",
                                "example": "Organization",
                                "type": "string"
                              },
                              "issuer_text": {
                                "description": "The certificate's issuer information.",
                                "example": "countryName\nUS\nstateOrProvinceName\nTX\nlocalityName\nHouston\norganizationName\nOrganization\ncommonName\nexample.com",
                                "type": "string"
                              },
                              "key_algorithm": {
                                "description": "The certificate's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.",
                                "enum": [
                                  "rsaEncryption",
                                  "id-ecPublicKey"
                                ],
                                "example": "rsaEncryption",
                                "type": "string"
                              },
                              "modulus": {
                                "description": "The certificate's key's modulus, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an RSA key.",
                                "example": "a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db",
                                "nullable": true,
                                "type": "string"
                              },
                              "modulus_length": {
                                "description": "The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key.",
                                "example": 2048,
                                "nullable": true,
                                "type": "integer"
                              },
                              "not_after": {
                                "description": "The date the certificate expired.",
                                "example": 1569844800,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "not_before": {
                                "description": "The date the certificate started.",
                                "example": 1538308800,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "serial": {
                                "description": "The certificate's serial number.",
                                "example": "45462cd0d6537b20cf2f3eb8aec07140",
                                "type": "string"
                              },
                              "signature_algorithm": {
                                "description": "The certificate's OID signature hash algorithm.",
                                "example": "sha256WithRSAEncryption",
                                "type": "string"
                              },
                              "subject.commonName": {
                                "description": "The certificate's Common Name.",
                                "example": "example.com",
                                "type": "string"
                              },
                              "subject_text": {
                                "description": "The certificate's subject text information.",
                                "example": "commonName\nwww.example.com",
                                "type": "string"
                              },
                              "validation_type": {
                                "description": "The certificate's validation type.\n\n* `ev` — Extended Validation.\n* `ov` — Organization Validation.\n* `dv` — Domain Validation.\n* `null` — The system could not parse and determine the\ncertificate's validation type.",
                                "enum": [
                                  "ev",
                                  "ov",
                                  "dv"
                                ],
                                "example": "dv",
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete SSL certificate",
        "tags": [
          "SSL",
          "SSL Certificate Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  delete_cert\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/delete_cert"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_delete_cert.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_delete_cert.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/delete_cert/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_delete_cert.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_delete_cert.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'delete_cert'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/SSL/delete_csr": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes a certificate signing request (CSR).\n\n**Note:**\n\n* When you call this function, you **must** include the `id` or the `friendly_name`\nparameter.\n* To delete a private key, use the UAPI `SSL::delete_key` function instead.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\nand Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.",
        "operationId": "SSL-delete_csr",
        "parameters": [
          {
            "description": "The CSR's friendly name.",
            "in": "query",
            "name": "friendly_name",
            "required": false,
            "schema": {
              "example": "TestCSR",
              "type": "string"
            }
          },
          {
            "description": "The CSR's ID.",
            "in": "query",
            "name": "id",
            "required": false,
            "schema": {
              "example": "example_com_e095f_0ab2f_ebcbe4a571276f48562241411556647f",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_csr",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "commonName": {
                                "description": "The CSR's Common Name.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "created": {
                                "description": "The CSR's creation date.",
                                "example": 1538308800,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "domains": {
                                "description": "A list of the domains that the CSR covers.",
                                "items": {
                                  "example": "example.com",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "ecdsa_curve_name": {
                                "description": "The ECDSA curve that the CSR's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The CSR's key is **not** an ECDSA key.",
                                "enum": [
                                  "prime256v1",
                                  "secp384r1"
                                ],
                                "example": "prime256v1",
                                "nullable": true,
                                "type": "string"
                              },
                              "ecdsa_public": {
                                "description": "The CSR's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an ECDSA key.",
                                "example": null,
                                "nullable": true,
                                "type": "string"
                              },
                              "friendly_name": {
                                "description": "The CSR's friendly name.",
                                "example": "TestCSR",
                                "type": "string"
                              },
                              "id": {
                                "description": "The CSR's ID.",
                                "example": "example_com_e095f_0ab2f_ebcbe4a571276f48562241411556647f",
                                "type": "string"
                              },
                              "key_algorithm": {
                                "description": "The CSR's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.",
                                "enum": [
                                  "rsaEncryption",
                                  "id-ecPublicKey"
                                ],
                                "example": "rsaEncryption",
                                "type": "string"
                              },
                              "modulus": {
                                "description": "The CSR's key's modulus, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an RSA key.",
                                "example": "a74f7636fa6ac93ee6836a83a995b55deb5019ea36d7ba3dafb00e38d693acd\nb0c81b2ff777d6b433a420fae523f127f352a68bcc8b8f2d6ee7b70395bafab\nd8237ada8164fdddf8376b30375c35d4d4cbcce7d33d08069c17b409176a368\n9f1ebc97c0b08fe6ae44c19a92ac6d68448e7f1d13f3b360affd4222a51b4f3\n5342de99b5a1fb5548e438f2d824664562a448002eed7fce24dedc7dc3e1ed1\n79973d1dae959b33716eeb410d172708954e00632cbf60a0e26419860c8c0bc\n285d6bfe4b479de0dd189772a5dae676bd2a92acccc1369821be8cffddd8a7e\n6ecc061f8a32a9ae0661e4e946ed8e3827b277138d3a76116567cbd129cbd86\n9ef9dddf",
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete certificate signing request",
        "tags": [
          "SSL",
          "SSL Certificate Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  delete_csr\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/delete_csr"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_delete_csr.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_delete_csr.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/delete_csr/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_delete_csr.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_delete_csr.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'delete_csr'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/SSL/delete_key": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function deletes a private key.\n\n**Note:**\n\n* When you call this function, you **must** include the `id` or the `friendly_name`\nparameter.\n* To delete a certificate signing request (CSR), use the UAPI `SSL::delete_csr`\nfunction instead.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\nand Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.",
        "operationId": "SSL-delete_key",
        "parameters": [
          {
            "description": "The private key's friendly name.",
            "in": "query",
            "name": "friendly_name",
            "required": false,
            "schema": {
              "example": "TestKey",
              "type": "string"
            }
          },
          {
            "description": "The private key's ID.",
            "in": "query",
            "name": "id",
            "required": false,
            "schema": {
              "example": "example_com_e095f_0ab2f_ebcbe4a571276f48562241411556647f",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "created": {
                                "description": "The private key's creation date.",
                                "example": 1538308800,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "ecdsa_curve_name": {
                                "description": "The ECDSA curve that the key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The key is **not** an ECDSA key.",
                                "enum": [
                                  "prime256v1",
                                  "secp384r1"
                                ],
                                "example": "prime256v1",
                                "nullable": true,
                                "type": "string"
                              },
                              "ecdsa_public": {
                                "description": "The key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The key is **not** an ECDSA key.",
                                "example": null,
                                "nullable": true,
                                "type": "string"
                              },
                              "friendly_name": {
                                "description": "The private key's friendly name.",
                                "example": "TestKey",
                                "type": "string"
                              },
                              "key_algorithm": {
                                "description": "The key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.",
                                "enum": [
                                  "rsaEncryption",
                                  "id-ecPublicKey"
                                ],
                                "example": "rsaEncryption",
                                "type": "string"
                              },
                              "modulus": {
                                "description": "The key's modulus, in hexadecimal format.\n\n* `null` — The key is **not** an RSA key.",
                                "example": "a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db",
                                "nullable": true,
                                "type": "string"
                              },
                              "modulus_length": {
                                "description": "The length, in bits, of the key's modulus.\n\n* `null` — The key is **not** an RSA key.",
                                "example": 2048,
                                "nullable": true,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Delete private key",
        "tags": [
          "SSL",
          "SSL Certificate Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  delete_key\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/delete_key"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_delete_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_delete_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/delete_key/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_delete_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_delete_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'delete_key'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/SSL/delete_ssl": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function removes SSL from a domain.\n\n**Note:**\n\nThis function removes domains from the current certificate to end SSL coverage for those\ndomains. To delete certificates from SSL storage, use the UAPI function `SSL::delete_cert`\ninstead.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, **and** Web Server\n[roles](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "SSL-delete_ssl",
        "parameters": [
          {
            "description": "The domain name.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "delete_ssl",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "default": null,
                          "nullable": true,
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "An array containing a message about the domain's SSL removal.",
                          "example": [
                            "The SSL host was successfully removed."
                          ],
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Remove SSL for domain",
        "tags": [
          "SSL",
          "cPanel Account SSL Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  delete_ssl \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/delete_ssl?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_delete_ssl.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_delete_ssl.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/delete_ssl/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_delete_ssl.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_delete_ssl.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'delete_ssl',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/SSL/disable_mail_sni": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function disables SNI mail services on the specified domains.\n\n**Note:**\n\n  Mail SNI is **always** enabled.\n\n  * After you change the SNI status, you **must** run UAPI's `rebuild_mail_sni_config` function.\n  * Functions that enable Mail SNI succeed with a warning that Mail SNI is always enabled.\n  * Functions that disable Mail SNI fail and make no changes.",
        "operationId": "SSL-disable_mail_sni",
        "parameters": [
          {
            "description": "A pipe-delimited list of the account's domains.",
            "in": "query",
            "name": "domains",
            "required": true,
            "schema": {
              "example": "example.com|example1.com|example2.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "disable_mail_sni",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": {
                            "failed_domains": {
                              "example2.com": "Sorry, example2.com is not one of the domains on your account."
                            },
                            "updated_domains": {
                              "example.com": 1,
                              "example1.com": 1
                            }
                          },
                          "properties": {
                            "failed_domains": {
                              "additionalProperties": {
                                "description": "The reason the domain failed to disable SNI.\n\n**Note:**\n\n The domain name is the return name.",
                                "type": "string"
                              },
                              "description": "An object containing the domains that failed to disable\n mail SNI.",
                              "type": "object"
                            },
                            "updated_domains": {
                              "additionalProperties": {
                                "description": "Whether the domain's SNI is disabled.\n\n* `1` - Disabled.\n* `0` - Not disabled.\n\n**Note:**\n\nThe domain name is the return name.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "type": "integer"
                              },
                              "description": "AN object containing the domains with disabled mail SNI.",
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings\n describe non-critical failures or other problematic conditions\n noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Disable SNI mail services for domain",
        "tags": [
          "SSL",
          "SNI Email Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  disable_mail_sni \\\n  domains='example.com|example1.com|example2.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/disable_mail_sni?domains=example.com%7cexample1.com%7cexample2.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_disable_mail_sni.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_disable_mail_sni.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/disable_mail_sni/,\n    {\n        'domains' => 'example.com|example1.com|example2.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_disable_mail_sni.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_disable_mail_sni.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'disable_mail_sni',\n    array (\n        'domains' => 'example.com|example1.com|example2.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.48"
      }
    },
    "/SSL/enable_mail_sni": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function enables SNI mail services on the specified domains.\n\n**Warning:**\n\nMail SNI is **always** enabled.\n* Mail SNI is **not** compatible with Webmail and will **not** function for any Webmail connection. Webmail connections use the cPanel service SSL certificate.\n* Functions that enable Mail SNI succeed with a warning that Mail SNI is always enabled.\n* Functions that disable Mail SNI fail and make no changes.\n\n**Important:**\n\n  When you disable the *Calendars and Contacts*, *Mail Receive*, *Web Disk*, *Webmail*, **and** *Web Server* [roles](https://go.cpanel.net/howtouseserverprofiles#roles), the system **disables** this function.",
        "operationId": "SSL-enable_mail_sni",
        "parameters": [
          {
            "description": "A pipe-delimited list of the account's domains.",
            "in": "query",
            "name": "domains",
            "required": true,
            "schema": {
              "example": "example.com|example1.com|example2.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "enable_mail_sni",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "example": {
                            "failed_domains": {
                              "example2.com": "Sorry, example.com is not one of the domains on your account."
                            },
                            "updated_domains": {
                              "example.com": 1,
                              "example1.com": 1
                            }
                          },
                          "properties": {
                            "failed_domains": {
                              "additionalProperties": {
                                "description": "The reason the domain failed to enable mail SNI.\n\n**Note:**\n\n The domain name is the return name.",
                                "example": "Sorry, example.com is not one of the domains on your account.",
                                "type": "string"
                              },
                              "description": "An object that contains the domains that did not enable mail SNI.",
                              "type": "object"
                            },
                            "updated_domains": {
                              "additionalProperties": {
                                "description": "Whether the domain's SNI is enabled.\n\n* `1` - Enabled.\n* `0` - Not enabled.\n\n**Note:**\n\nThe domain name is the return name.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "description": "An object that contains the domains with disabled mail SNI.",
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": [
                            "cPanel & WHM always enables mail SNI from now on."
                          ],
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success\n* `0` - Failed: Check the errors field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Enable SNI mail services for domain",
        "tags": [
          "SSL",
          "SNI Email Settings"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  enable_mail_sni \\\n  domains='example.com|example1.com|example2.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/enable_mail_sni?domains=example.com%7cexample1.com%7cexample2.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_enable_mail_sni.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_enable_mail_sni.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/enable_mail_sni/,\n    {\n        'domains' => 'example.com|example1.com|example2.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_enable_mail_sni.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_enable_mail_sni.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'enable_mail_sni',\n    array (\n        'domains' => 'example.com|example1.com|example2.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.48"
      }
    },
    "/SSL/fetch_best_for_domain": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function retrieves the best-available certificate for the domain. The function also\nretrieves the certificate's associated private key and CA bundle, if available.\n\n**Important:**\n\nWhen you disable the [Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server roles](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "SSL-fetch_best_for_domain",
        "parameters": [
          {
            "description": "The domain name.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "example": "example.com",
              "format": "domain",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fetch_best_for_domain",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "cab": {
                              "description": "The CA bundle's contents (if applicable).",
                              "example": "-----BEGIN CERTIFICATE-----\nMIID/DCCAuSgZwBBAvIFANEXIaYwDQYJKoZIhvcNAQELBQAwFjEUMBIGA1UEAwwL\nZXhhbXBsZS5jb20wHhcNMjAwNDA2MTY0NDU2WhcNMjEwNDA2MTY0NDU2WjAWMRQw\nEgYDVQQDDAtleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBALuCGWz/aFOr5TPBehISu3LkcGvnNFg9eY8rVXbNFfpBzyzdWrx5IiMtBcDx\nAZXMOU7GSZyFhSB6cjNfCaESXC/gBTa0sZ/b4b4etNUlNHUFAatb9WckQ6AtWbVA\npxu8aw/5AjAKgMbkaNrUY3vzLzin11CyGOFkbAKwVqT13Z3Yyz/xuz7x2+yMwPBh\n9mEP0tXjvCz7NzETFSTysn9Sf+VjUle0upnpl8Q7GK52CDpvwdqE/O6MrTx/XrXm\nYUfeSkZd+nqFm4oxmrf01hOL2IlEit1RupILwVm2/8CK2sAdazTqh4LapA962b9V\nSKm31YbsGT3kQg5EERbjIgiN6M8CAwEAAaOCAU8wggFLMB0GA1UdDgQWBBRhFUQb\nh7YE6tgcpiHke60td96d4zAJBgNVHRMEAjAAMEIGA1UdIwQ7MDmAFGEVRBuHtgTq\n2BymIeR7rS133p3joRqkGDAWMRQwEgYDVQQDDAtleGFtcGxlLmNvbYIFANEXIaYw\nHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMIG7BgNVHREEgbMwgbCCC2V4\nYW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg93d3cuZXhhbXBsZS5jb22CEmNw\nYW5lbC5leGFtcGxlLmNvbYITd2VibWFpbC5leGFtcGxlLmNvbYITd2ViZGlzay5l\neGFtcGxlLmNvbYIWY3Bjb250YWN0cy5leGFtcGxlLmNvbYIXY3BjYWxlbmRhcnMu\nZXhhbXBsZS5jb22CD3dobS5leGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEA\nT0TaI0ypM3eqtRSddgyoy5+nXi8a9a8xFKrwEAljBua3rNR6fOfedMOg9NFwCmQD\nw96/eZJjq+xMh57yLEGu05OBbyFVsdu2AXVhwHeBaURrGn5p7IjNM+dB+ld+oCnP\nex6iisbsfxwUqa7y2vqTU5XaUiXfccqEz8ofvuTcqNs8bgGn0Tm90XbgGnPVd7zl\nGm4t7Gf2pvMNd2R1prJ07z42bp/z8E2DcFhb/QZnblFOhJ8jPspxYK4G5XmwwYZD\n79NDK47OyG3hTiinxroKMjqIgnLT7ZabDMGHJkcg5xOL/VdYi7ZGHAnBEwA8eadO\ndh3jFPxGGIBJTTmKIScSrm==\n-----END CERTIFICATE-----",
                              "format": "pem-certificate",
                              "type": "string"
                            },
                            "crt": {
                              "description": "The certificate's contents.",
                              "example": "-----BEGIN CERTIFICATE-----\nMIID/DCCAuSgZwBBAvIFANEXIaYwDQYJKoZIhvcNAQELBQAwFjEUMBIGA1UEAwwL\nZXhhbXBsZS5jb20wHhcNMjAwNDA2MTY0NDU2WhcNMjEwNDA2MTY0NDU2WjAWMRQw\nEgYDVQQDDAtleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBALuCGWz/aFOr5TPBehISu3LkcGvnNFg9eY8rVXbNFfpBzyzdWrx5IiMtBcDx\nAZXMOU7GSZyFhSB6cjNfCaESXC/gBTa0sZ/b4b4etNUlNHUFAatb9WckQ6AtWbVA\npxu8aw/5AjAKgMbkaNrUY3vzLzin11CyGOFkbAKwVqT13Z3Yyz/xuz7x2+yMwPBh\n9mEP0tXjvCz7NzETFSTysn9Sf+VjUle0upnpl8Q7GK52CDpvwdqE/O6MrTx/XrXm\nYUfeSkZd+nqFm4oxmrf01hOL2IlEit1RupILwVm2/8CK2sAdazTqh4LapA962b9V\nSKm31YbsGT3kQg5EERbjIgiN6M8CAwEAAaOCAU8wggFLMB0GA1UdDgQWBBRhFUQb\nh7YE6tgcpiHke60td96d4zAJBgNVHRMEAjAAMEIGA1UdIwQ7MDmAFGEVRBuHtgTq\n2BymIeR7rS133p3joRqkGDAWMRQwEgYDVQQDDAtleGFtcGxlLmNvbYIFANEXIaYw\nHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMIG7BgNVHREEgbMwgbCCC2V4\nYW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg93d3cuZXhhbXBsZS5jb22CEmNw\nYW5lbC5leGFtcGxlLmNvbYITd2VibWFpbC5leGFtcGxlLmNvbYITd2ViZGlzay5l\neGFtcGxlLmNvbYIWY3Bjb250YWN0cy5leGFtcGxlLmNvbYIXY3BjYWxlbmRhcnMu\nZXhhbXBsZS5jb22CD3dobS5leGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEA\nT0TaI0ypM3eqtRSddgyoy5+nXi8a7a6xFKrwEAljBua3rNR6fOfedMOg9NFwCmQD\nw96/eZJjq+xMh57yLEGu05OBbyFVsdu2AXVhwHeBaURrGn5p7IjNMjdB+ld+oCmU\nex6iisbsfxwUqa7y2vqTU5XaUiXfccqEz8ofvuTcqNs8bgGn0Tm90XbgGnPVd7zl\nGm4t7Gf2pvMNd2R1prJ07z42bp/z8E2DcFhb/RPnblFOhJ8jPspxYK4G5XmwwYZD\n79NDK47OyG3hTiinxroKMjqIgnLT4ZabDMGHJkcg5xOL/VdYi7ZGHAnBEwA8eadO\ndh3jFPxGGIBJTTmKIScSbg==\n-----END CERTIFICATE-----",
                              "format": "pem-certificate",
                              "type": "string"
                            },
                            "crt_origin": {
                              "description": "The username that generated the certificate.",
                              "example": "username",
                              "format": "username",
                              "type": "string"
                            },
                            "domain": {
                              "description": "The domain that generated the private key.",
                              "example": "example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "ip": {
                              "description": "The IP address.",
                              "example": "192.168.0.1",
                              "format": "ipv4",
                              "type": "string"
                            },
                            "key": {
                              "description": "The private key.",
                              "example": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBBCKAAQNAu4IZbP0oU6vlM8F6EhK9cuRrs+c1WD24jytPds0V+kH+LN1a\nvHkiIy0FwPABlcw5TrZJnIWFIHpyM18JoRJcM+AFNrSxn9vhvh601SU0dQUBq1v1\nZyRDoC1ZtUCnG7xrD/kCMAqAxuRo2tRje/MvOKfXULIY4WRsArBWpPXdndjLP/G7\nPvHb7IzA8GH2YQ/S1eO8LPs3MRMVJPKyf1J/5WNSV7S6memXxDsYrnYIOm/B2oT8\n7oytPH9eteZhR95KRl36eoWbijGat/TWE4vYiUSK3VG6kgvBWbb/wIrawB1rNOqH\ngtqkD3rZv1VIqbfVhuwZPeRCDkQRFuMiCI3ozwIDAQABAoIBAFADflIS0zQRQCdL\nwol/0NmAPbDt4lpdMUg0161wapZ2CrA8bQHMNxMHnVLuBR0lHrdMyhCusVZgqebe\nAT/ok8oiMFdd2AY9UCFO/R+PVskwr7ut7BRtVyY88/Dye9zMFGumeJaDhNxaj5wB\n0coMxfPJO4pF1XQo5CZplS+jc0RtiNnRmWP/zwwtH+QwT43GXKS3U3QgX1a/7Yzw\nliUFuggsjysNPovM5NzcgzYfVlMg3F9fDnMeve2s/MO6/wCIp1+SHN89DwluDmw0\nII0sJDtBRB1nPqseLV1XwYImdSosKuaUIK225vQy/cXK9S/zcq6+d6P5efCw8nRg\nbCfwd7ECgYEA8Agkx+P7zBAWItnkrNzah6QaWd3VP5bSw6WeHwcWIS1h3ASKSr3u\nT8rp5qDTk92eV/g5Uqr5lr8txnp448wnipeK0LDF4r+uhOsHOY4B4eFiTsRecXKD\nzlcC/ees4UOzbdptqosyAG5ub8UMwEH0zPOCszpnIhZkm004EHxc8zUCgYEAx/t0\nF1DYHm834CYyHfq3XiuB3yNECKMQZ1lgcq8IXaO3EJKnaSF3INogS1lZ6hQR2AW+\ntr+U6LdBRzsxH0ZeHu/lYCZ6ssgV3H6HTLlFVRysufVdlLaeaKAMuEADrUhVgvVA\n8rNM+8WSxrfya+2a/PwyJD9YdHCITcXVdwHHCHMCgYBLhYRtECJNVlJgrMXyTZrE\nSrGvzMgntcCiph1WDdi8n5bGrvcEBTZSDLoDQl7Pi08ixorio8Db2VMBu88FfVqD\nlKKsfrIEYeL7FyeyyCd3dn6D4e0FLM6jwWTDln0iczalPbB7lEgrMpO0vv8ADsCD\nK6rX1ZxZoWoOQwF8zmRAcQKBgQC85weoJpOfXAt5zlq1+ulPKOXKs3NGfVG3bjOp\n4SuT2FvKad19b0EqZSDzR/ylIkQgvHyD/8BXexNMh9tE4aFys8UF6BMq4dnUqCiC\nDtgxJ575IY8+NKq5xcV+HenbO2KbC7RIDZqAkQauc3+o947ZvhhXKQcTJmF6pY+Y\nlLM/hQKBgQCplo1rGsimNitBb2iw2B+jDJoMBLYjWeZWcr8VMwVlN9DXPG19uXKq\nCsbrteMX3VedbeRYk/NITsasRefZq7JDSe9JbsPxj3I+/nzV0EbMXX9cxJL3hkCc\n5QAmE/BMR7yh0odK57o+mcQZtecIEO1BK/qW6Au0otQHPraygGCwkQ==\n-----END RSA PRIVATE KEY-----",
                              "format": "pem-private-key",
                              "type": "string"
                            },
                            "key_origin": {
                              "description": "The username that generated the private key.",
                              "example": "username",
                              "format": "username",
                              "type": "string"
                            },
                            "searched_users": {
                              "description": "The cPanel accounts that the system searched for domain information.",
                              "items": {
                                "example": "username",
                                "format": "username",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "status": {
                              "description": "Whether the certificate is active.\n* `1` - Active.\n* `0` - Inactive.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "statusmsg": {
                              "description": "The certificate's status.",
                              "example": "ok",
                              "type": "string"
                            },
                            "user": {
                              "description": "The username that stores the private key.",
                              "example": "username",
                              "format": "username",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Request best SSL certificate",
        "tags": [
          "SSL",
          "cPanel Account SSL Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  fetch_best_for_domain \\\n  domain='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/fetch_best_for_domain?domain=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_fetch_best_for_domain.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_fetch_best_for_domain.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/fetch_best_for_domain/,\n    {\n        'domain' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_fetch_best_for_domain.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_fetch_best_for_domain.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'fetch_best_for_domain',\n    array (\n        'domain' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/SSL/fetch_cert_info": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function retrieves all of a certificate's available information.\n\n**Important:**\n\n* You **must** call either the `friendly_name` or `id` parameter.\n* When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server [roles](https://go.cpanel.net/serverroles), the system **disables** this function.",
        "operationId": "SSL-fetch_cert_info",
        "parameters": [
          {
            "description": "The certificate's human readable name.",
            "in": "query",
            "name": "friendly_name",
            "required": true,
            "schema": {
              "example": "TestCert",
              "type": "string"
            }
          },
          {
            "description": "The certificate's ID.",
            "in": "query",
            "name": "id",
            "required": true,
            "schema": {
              "example": "example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fetch_cert_info",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "cabundle": {
                              "description": "The CA bundle's contents (if applicable).",
                              "example": "-----BEGIN CERTIFICATE-----\nMIIB+DCCArDgBwIBAgIEWXcZhjANBgkzpkiG6w0BAQsFADATMREwDwYDVRRZZAhu\nZXcxLnRsZDAeFw1yMDAyMDcxMzE7MTdaFw0yMTAyMDYxMzE4MTdaMBMxETAPBgEJ\nBAMMCG5ldzEudGxkMIJBInANBgkqhkiG9w0BAQEFAAOKAR3AMIIBCgKCAQEA5n3Z\nUoGCgH48vcbZfrWtnrak4yOZk/UN45gc8bZGmqbzd3qKmGXkm11aW1ID2YKGKYjL\nmKt42HbXitlH6VhQcWviuYg+JIyTXDMLV0GiGpDT0uvde3YV21Ww2i5nzoFxWyVD\n67oize5gvq9gaw5nVj6UyZ0baIB01QeJ5x52xZyuSgiS0ssWlA3rvHx8wG0+1trR\naBwU0cn1cXP3ZMKzKus/yAUH4lMBFf8jgDzEWIwfMI5HmzUjg2kOPJQlBtZ1u0bJ\nGaKffWIMLs9Ux4p+f7FNeT/xJCHCTX7HpYDOyWwq109yHnD178NkywKoUvtx7f93\ntTI821mltPbC1PQUgQIDAQABo4IBIjCCAR4wHQYDVR0OBBYEFLThoqhCEONRK3X1\nFBgZ4gp+ESmJMAkGA1UdEwQCMAAwPgYDVR0jBDcwNYAUtOGiqEIQ41ErdfUUGBni\nCn4RKYmhF6QVMBMxETAPBgNVBAMMCG5ldzEudGxkggRZdxmGMB0GA1UdJQQWMBQG\nCCsGAQUFBwMBBggrBgEFBQcDAjCBkgYDVR0RBIGKMIGHgghuZXcxLnRsZIINbWFp\nbC5uZXcxLnRsZIIMd3d3Lm5ldzEudGxkgg9jcGFuZWwubmV3MS50bGSCEHdlYm1h\naWwubmV3MS50bGSCEHdlYmRpc2submV3MS50bGSCE2NwY29udGFjdHMubmV3MS50\nbGSCFGNwY2FsZW5kYXJzLm5ldzEudGxkMA0GCSqGSIb3DQEBCwUAA4IBAQCT4AQM\nwbwj3JEoQIJeP7RQyVe2/CPheqkSSajca1a3cUytwfRQ/m8DGM3L3WUZCaDEXYpJ\n+nt7k6KetL6Fs03e1W7IDADt68ahiBLIqvxEGZ5uNUYqOiEWgfp3yKEDOjkLLvzU\nGZb8FmNyeDoQ47b0mf0SRktG6W1rTMAg2kSDVoA7YNZStYvRzEliCX8cZqZ2as2d\nou95S+aGFAPJ+WMyYRgFm+ONAnpSbd9BursEcQSfLjKLusJzXrGVG9zZ/CAK2tHy\nXIlFrj88r0q9AZKyFkh6O1XvaZBiI/UEOWS2H3zcnh5ywudze7jTj5eFz5hr0ubX\ndji/LDNHmG+dKCK7\n-----END CERTIFICATE-----",
                              "format": "pem-certificate",
                              "nullable": true,
                              "type": "string"
                            },
                            "certificate": {
                              "description": "The certificate's contents.",
                              "example": "-----BEGIN CERTIFICATE-----\nMIIDyDCCArDgBwIBAgIEWXcZhjANBgkzpkiG6w0BAQsFADATMREwDwYDVQQDDAhu\nZXcxLnRsZDAeFw1yMDAyMDcxMzE5MTdaFw0yMTAyMDYxMzE4MTdaMBMxETAPBgMB\nBAMMCG5ldzEudGxkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5n3Z\nUoGCgH48vcbZfrWtnrak4yOZk/UN45gc8bZGmqbzd3qKmGXkm11aW1ID2YKGKYjL\nmKt42HbXitlH6VhQcWviuYg+JIyTXDMLV0GiGpDT0uvde3YV21Ww2i5nzoFxWyVD\n67oize5gvq9gaw5nVj6UyZ0baIB01QeJ5x52xZyuSgiS0ssWlA3rvHx8wG0+1trR\naBwU0cn1cXP3ZMKzKus/yAUH4lMBFf8jgDzEWIwfMI5HmzUjg2kOPJQlBtZ1u0bJ\nGaKffWIMLs9Ux4p+f7FNeT/xJCHCTX7HpYDOyWwq109yHnD178NkywKoUvtx7f93\ntTI821mltPbC1PQUgQIDAQABo4IBIjCCAR4wHQYDVR0OBBYEFLThoqhCEONRK3X1\nFBgZ4gp+ESmJMAkGA1UdEwQCMAAwPgYDVR0jBDcwNYAUtOGiqEIQ41ErdfUUGBni\nCn4RKYmhF6QVMBMxETAPBgNVBAMMCG5ldzEudGxkggRZdxmGMB0GA1UdJQQWMBQG\nCCsGAQUFBwMBBggrBgEFBQcDAjCBkgYDVR0RBIGKMIGHgghuZXcxLnRsZIINbWFp\nbC5uZXcxLnRsZIIMd3d3Lm5ldzEudGxkgg9jcGFuZWwubmV3MS50bGSCEHdlYm1h\naWwubmV3MS50bGSCEHdlYmRpc2submV3MS50bGSCE2NwY29udGFjdHMubmV3MS50\nbGSCFGNwY2FsZW5kYXJzLm5ldzEudGxkMA0GCSqGSIb3DQEBCwUAA4IBAQCT4AQM\nwbwj3JEoQIJeP7RQyVe2/CPheqkSSajca1a3cUytwfRQ/m8DGM3L3WUZCaDEXYpJ\n+nt7k6KetL6Fs03e1W7IDADt68ahiBLIqvxEGZ5uNUYqOiEWgfp3yKEDOjkLLvzU\nGZb8FmNyeDoQ47b0mf0SRktG6W1rTMAg2kSDVoA7YNZStYvRzEliCX8cZqZ2as2d\nou95S+aGFAPJ+WMyYRgFm+ONAnpSbd9BursEcQSfLjKLusJzXrGVG9zZ/CAK2tHy\nXIlFrj88r0q9AZKyFkh6O1XvaZBiI/UEOWS2H3zcnh5ywudze7jTj5eFz5hr0ubX\ndji/LDNHmG+dKCK7\n-----END CERTIFICATE-----",
                              "format": "pem-certificate",
                              "type": "string"
                            },
                            "is_self_signed": {
                              "description": "Whether the certificate is self-signed.\n* `1` - Self-signed.\n* `0` - **Not** self-signed.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "key": {
                              "description": "The private key.",
                              "example": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEA5n3ZUoGCgH48vcbZfrYqnrak7yOZk/UN41gr8bZGmqbzd3qK\nmGXkm11aW1ID2YKGKYjLmKt59HbXitlH6VhQcWviuYr+JIyTXDMLV0GiGpDT0uvd\ne3YV21Ww2i5nzoFxWyVD67oize5gvq9gaw5nVj6UyZ0baIB01QeJ5x52xZyuSgiS\n0ssWlA3rvHx8wG0+1trRaBwU0cn1cXP3ZMKzKus/yAUH4lMBFf8jgDzEWIwfMI5H\nmzUjg2kOPJQlBtZ1u0bJGaKffWIMLs9Ux4p+f7FNeT/xJCHCTX7HpYDOyWwq109y\nHnD178NkywKoUvtx7f93tTI821mltPbC1PQUgQIDAQABAoIBAEteX4/hFYFaxhXw\nTfJnCgzaAHTdkTyWZyJC/UP0rIWpjfdFtMg8mVJMZl1yJhwb2C8AskKL34o44iZf\nAmrFHBjahFrSuC9PYGhHsK+poI47SWixA815QZBlJt1RS1R1c1Gwj9MnHHZmOnBf\n/JFFNnk3IYQDwZCcYJfATVGr3n6jLEGNwaPWFV6SHf0C4tCibSdNkkS1L/u+roHK\n2dlmo84suwiqIYlxRCh0rZcvcx5ieF5Rj9g9t2ReYWCuEOMWuPcCfWoe4VngrmMX\nV4I8NS1wtMR8qONJf4B9vcBA36296x1PZp3QEWU6hCd3TKpInKKxe6tOJA1iZ/H0\nKn0sYSECgYEA/W2zPsHKZDHnLN80MdiRFIPnmBvdNl2kPl244S9YFCHULowxx4YA\nMhz46dkm7VAFJdCTDZvKNZloPRG6N+Ouw2TP/gwnqZzVN2jt7+rpSYWp8s8kAASv\npmjnpGLlAZg8BBD/gafxfjEdyB7QEUF379o+0WTxCJrcE8n8UtTcXj0CgYEA6NSR\nf1bXcfzCzLtkudEfyA9+u5mdENqoqasLfJsLzezeGFAYamQsnEEACWSbJvogHHZk\ng/gKVuSzspLDWpJT96agmUFGKoBozJrOj2TpXfSI9uDaGo0/YJsPhnuPHab0jiO5\nCjpCOAKMXaV9lbALRh4ALGiODDDud2rqzph815UCgYEA2ULKf+qzD+KYRSe1H2aC\nOgw653Q72Pe+bpj6flKQN/IobR9TLbH7SPr9ibzYWmpXf2uoJeqBGCJD8tbXxkIy\n+N/cT/crqYUCZVZXZW8GQDmO0NI0Eq/xxb/5ljwSB6PzD6li4kyQA5cn6QBBcAmo\nQL/hSrI20SGxumVXI8vIgCECgYAUJai9cx9LfsrAeoq5xY3Rev3FcAJ2XeVwYRuq\nWaRI2nFRe0TRl/+AOeOt7GW8lrJGpDwIa2NBp6KhFjAPW1AmwuVsvYg7z0bCRbcQ\nE3RaK/naGxTkbUqJqoFKatC0iSjqT88IQohOXnIU/GgEluoy1A/Bx/5asbVA4iCV\nZf6PjQKBgA0A3Q5lrWwuQlCXDiwsRLKSYEwgt5TFKfbiipB01m89PGd1ylz+Uzyn\niE01Cuar6yN9pJiTJ09Tmq3S2xxavY97KFHyu6R8/jHx4mZi9OMJfxffC+84q6d+\nXVABiqBs1l0ebWCsotdXoYDDQaVrCccxPfCjUCtPmgnarz11uhZo\n-----END RSA PRIVATE KEY-----",
                              "format": "pem-private-key",
                              "type": "string"
                            },
                            "subject.commonName_ip": {
                              "description": "The IP address.",
                              "example": "192.168.0.1",
                              "format": "ipv4",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return SSL certificate information",
        "tags": [
          "SSL",
          "cPanel Account SSL Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  fetch_cert_info \\\n  id='example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3' \\\n  friendly_name='TestCert'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/fetch_cert_info?id=example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3&friendly_name=TestCert"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_fetch_cert_info.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_fetch_cert_info.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/fetch_cert_info/,\n    {\n        'id' => 'example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3',\n        'friendly_name' => 'TestCert',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_fetch_cert_info.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_fetch_cert_info.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'fetch_cert_info',\n    array (\n        'id' => 'example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3',\n        'friendly_name' => 'TestCert',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/SSL/fetch_certificates_for_fqdns": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function retrieves the certificate information for all fully qualified domain names (FQDNs) that the account owns.",
        "operationId": "SSL-fetch_certificates_for_fqdns",
        "parameters": [
          {
            "description": "A domain or comma-delimited list of domains for which to retrieve information.",
            "examples": {
              "multiple": {
                "summary": "Multiple domains.",
                "value": "domains=example1.com,example2.com"
              },
              "single": {
                "summary": "A single domain.",
                "value": "example.com"
              }
            },
            "explode": false,
            "in": "query",
            "name": "domains",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fetch_certificates_for_fqdns",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "cab": {
                                "description": "The CA bundle's contents.",
                                "example": "-----BEGIN CERTIFICATE-----\nMIIB+jCCAWMCAgGjMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNVBAYTAlVTMRgwFgYD\nVQQKEw9HVEUgQ29ycG9yYXRpb24xHDAaBgNVBAMTE0dURSBDeWJlclRydXN0IFJv\nb3QwHhcNOTYwMjIzMjMwMTAwWhcNMDYwMjIzMjM1OTAwWjBFMQswCQYDVQQGEwJV\nUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMRwwGgYDVQQDExNHVEUgQ3liZXJU\ncnVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC45k+625h8cXyv\nRLfTD0bZZOWTwUKOx7pJjTUteueLveUFMVnGsS8KDPufpz+iCWaEVh43KRuH6X4M\nypqfpX/1FZSj1aJGgthoTNE3FQZor734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt/5\n1KiOQswkwB6RJ0q1bQaAYznEol44AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABKz\ndcZfHeFhVYAA1IFLezEPI2PnPfMD+fQ2qLvZ46WXTeorKeDWanOB5sCJo9Px4KWl\nIjeaY8JIILTbcuPI9tl8vrGvU9oUtCG41tWW4/5ODFlitppK+ULdjG+BqXH/9Apy\nbW1EDp3zdHSo1TRJ6V6e6bR64eVaH4QwnNOfpSXY\n-----END CERTIFICATE-----",
                                "format": "pem-certificate",
                                "type": "string"
                              },
                              "created": {
                                "description": "When the certificate was created.",
                                "example": 1496950287,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "crt": {
                                "description": "The certificate's contents in Base64 PEM format.",
                                "example": "-----BEGIN CERTIFICATE-----\nMIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJ\nc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQI\nDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYy\nMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNV\nBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3P\nXx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fW\nvoK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/da\nM3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC\n+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6\nPLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGj\nUDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw\n+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA\nA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3Wh\ncDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVw\nFYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh\n/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2ag\nqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPa\nKm6r7YmwfLN/YMZBHXSR58oOGP9W\n-----END CERTIFICATE-----",
                                "format": "pem-certificate",
                                "type": "string"
                              },
                              "domain_is_configured": {
                                "description": "Whether the certificate is installed on the account.\n* `1` — Installed.\n* `0` — Not installed.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "domains": {
                                "description": "The domains that the CSR covers.",
                                "example": [
                                  "example.servername.com",
                                  "example.com",
                                  "mail.example.com",
                                  "www.example.com",
                                  "www.example.servername.com"
                                ],
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "ecdsa_curve_name": {
                                "description": "The ECDSA curve that the certificate's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The certificate's key is **not** an ECDSA key.",
                                "enum": [
                                  "prime256v1",
                                  "secp384r1"
                                ],
                                "example": "prime256v1",
                                "nullable": true,
                                "type": "string"
                              },
                              "ecdsa_public": {
                                "description": "The certificate's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an ECDSA key.",
                                "example": null,
                                "nullable": true,
                                "type": "string"
                              },
                              "friendly_name": {
                                "description": "The certificate's friendly name.",
                                "example": "Cert for example.servername.com",
                                "type": "string"
                              },
                              "id": {
                                "description": "The certificate's identification.",
                                "example": "example_servername_com_ce52d_6e643_2813308004_119580f9b01960cjones72bc519206bc",
                                "type": "string"
                              },
                              "is_self_signed": {
                                "description": "Whether the certificate is self-signed.\n- `1` — Self-signed.\n- `0` — Not self-signed.",
                                "enum": [
                                  0,
                                  1
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "issuer.commonName": {
                                "description": "The name that issued the certificate.",
                                "example": "example.servername.com",
                                "type": "string"
                              },
                              "issuer.organizationName": {
                                "description": "The certificate's organization.",
                                "example": "Organization",
                                "type": "string"
                              },
                              "issuer_text": {
                                "description": "The certificate's issuer information.",
                                "example": "stateOrProvinceName\\nTX\\nlocalityName\\nHouston\\ncountryName\\nUS\\ncommonName\\nexample.com\\norganizationName\\ncPanel",
                                "type": "string"
                              },
                              "key": {
                                "description": "The private key in Base64 PEM format.",
                                "example": "-----BEGIN RSA PRIVATE KEY-----\nMIIJJwIBAAKCAgEA4yilqsoCdEpiNOyLcPJ4FLT7vgwaLdOBeJLTMUeV2uZM4v65/tiZe7H0soDp1C55SCr3uEIEa7Lq7RUZ+F5p67BgRR19rmerKGxfN7N5Vu97pfTwW1f+lVsxUF/56lVeoAmm4okU98xJHiGGlI8ZHGJbUMYfLPy0OrA+gNwMHqMVOv1BSgpbEWCILMvnvtp0rwPutjnPVX2Dj40ia40L4Wqvp+0Yg7mZyhIOl+q6VZVIdXZslR4ZywfRBYt3ieFBDYMyNw9wN3Xy44fCpHc77+ho84W3BqrGaWSSDyf6UkZGD5mfohGf2JSp+c8J6H7hsxo7pta3K1diVXFOSfnaA+k56zW445XruwYs/SN/zvGetGi6uqhMAcVRQcYCmLCixcC6RkcUx3exxgR4q3gthDnFvWC4+NuTh8/K0BcxcuCEhRug/MfVfO3+f7RJFSJPFb9m9Lf4HHBSVkDP5WtG4XiBKCe++9Wuvxbd4QxS7YrnSopNKxkuHKswH8ONpADMYDqfLODMhNrslHNHu95Nv7AlQr8weLqMGWMp7GFqzXcl39RnVkF4Bxd3bAAsMN8/JvanMKCPjTTDrfzVFZcmHXPYOljYDdY1xfIstYVtbyFkUHZP2RPPBaPUAt90lzrKGVF8a2vdIKRiey5SZ5qu9c/mGri3oz7Lkk7qkNPAqDMCAwEAAQKCAgA3f9raG3j2CKZt381Bzzvfc0h+al6LC736Q4Ut6RuH2/S1ER9IUItPWW87nZuDp8ciBr13W0nRNmmHezxZHlgqqXEb8dSfI90Bh1jMNyFSSDihl3KSHrGotBscVBavViREXZdUicGBuXuxtkYno96yvKUq2v0K9MLkA+OBgEHFynqJaw7klBsj573dlAQO8TjI+eD8zKsHbB8Ul5rtRAy/Cl3YXWk75cDZSggevc7A0jRd3o0w8aXDoSlEfYq7OTm3n3JJWZBFPKAXTzgTDr6qItJhjS4IxXsq7RNyeIYES/8aGKKT6lJvjALrcdYt47IpHCOu447lG/h+f6xtDophLGZoAirO7lJFRVfLJh76sLF12bpXJKbbmMN+aut0nM+MLEw8A5K9OV24jJ/3+afj//5789asIyvNaQFPOX23SdLX0QbA5QWvJt2tWvvpS3ubcIJaBEMTK8asEBC68eUW0BBKJaSiYNzecUFYCBjQlxKsIrYuWZoW6fMyRel+cnqMdiH7r2p6RmgF5c9myDwq3E47jE+VrOy8uhw7EMQvT8+YSKaIbgtFZcUSU02BDRB7gWNa842m6nGs5tj5xFNQ6Wt410vilTwL+6zCQqJaKmcdE3woiIgSdrw5MssAHHjqo7QJthZfbpUAUTc6jGPNO13U1ediIRAGdQW5ALqTwQKCAQEA884bmFFZLTewHIv1PJFfNxVZfk3C7LhWE2JcI/5P/YrN4ZA8G08OYhgxqa5XnsHHQPwMM85i1HeOoPwqgTMIyLDX/Sf88+eW3ef4V2M1Y4op0ahWFEwbwXKGxOhncElObN7dfZUwVlxCReaiw2XQAGRqtQC0f+9dZysqPJr+Rz6poTiOtm7DcpW/WiGfBPvVhzBENyqouL9V3vCWYPJSLtCexECoGoPSpHKgUkwbh3+ra8SfG6FOIBj4PpMB82R7oPDjIyXF1VDfb0EwYQlKxyZoP9+NPT2MhZv/hF/Mbm/5LolVHx92hO9q6yxS6nvaFmEPr9fY1EOTWzzPOA+VyQKCAQEA7oVioaTqxENt+wHITZq100iYUpm4X1N1eENTp97QyQbQOVR/t8iGLUdvOZdIxBSTS3JFQ8TNcGDPPc+o319QGdZABNnKwFGY3Ss+5QgVeX6n0WKdxCRelUOUB174aBeXcJCKplh6xBUrLfSZxvZQQb7fv0Mb+2eKUBKTymvES1kpYdn1T0vCCHA3bVpaHuqliCoDSX3RmQICZlfSgCGBbAkmU8RuxDd9yR9l7O9MXUmLsqlsw6hvbUt+7Y13YlDtyX8gbCwEEYsoALOotY1xNfXnyZKTAXhrg+xsQLrURYZUoZiCJyK/mHCWRTPVkt89wq4IexbJ9hqlRjzpmlr8GwKCAQBxRSCs855q06SOnrehHCkQfmrFs3sMX9gdyWTllBG1yfc9BLXoOiKEkJkCLG2o5H6eQnuo1go0jBdH0+ArhnpeQ0sV4q4y4zXEgzFt6Dm1tUsYjQzxASskBQF4GkF0eZpmGmTtI5MBjHt93llgTr0EcaLh1SIHDj5m4DcPUTMyBnro3E3xlCRZ6Biu10/6EMZzuIj42Gjq7HoIyd4TzIFCHsqkgyWWrAgBPwAdPB7OJRKPTxpcy+RwJSmwaLxPSC/n5gKhIbt4D8q+9Zp0esyzGbT1d/c2rJHMwV1FMvzXkk5CwKs7enKl8FXMTRt4tXHtU8rl93JVq8+aY/YiJZuBAoIBAERG2lz7IFjeFHVtpTDRwIqilTfP2P8wnMe4PhInrgxdbu16SrUJKZ98e1I5BBNc8G0AYONtSoGItMo0z1phpkQ/GERLM8aplOB6qJ5XGg6VOuStHgwvfQOtPIp/nQvu9OK7/XRwj3Phu2KESiCyEXdAdDwDsdbdZLJXHwcqoh4Pf9EK2zW/seNIfBVJb9K5yHiZzicTZRQvhxBUw2T6MloCpH4GFM8GM3OHEV4pgeqSSvLxnLjFVmAq5EKL5Ei4cdjkExvj3aZH90N8KicOPgH8SkVhN8OL/Prein5c/LaKJV+8kEUzpTS1xc45cEGCteMsfjD97QINzpG0jgopUVECggEADIaKsx8NUQT3hm0wHRanEFJnQH5HzxaQjWbsjm2uz0KROPNIK1X5L8kypsb+EzlJtvWUqxPaOaTv4DZVpFaVzk8/2PPGsYR3mUjqMqNFYMrNwYZAXvJ/huzDPqq6+w2Pn9jcAifHNw3S8UR650v8gl7BU4fVBvhamG8JelvwLqeGWoikST9NBXVqG5IKBpUkUiFOMUNmRih9ooKvhy7GosoK8MWbmhWo1v8TTSXSagACUhAoIzb6mMN/VFC5WDbFx5AEB/G9tq/zmTqQkuo39dvgl30wyZGRNwc1aFf1Kxeven10/JN9ipp0mTa7NYSdn0RAe9ZRp5cCkgmktqmB0g==\n-----END RSA PRIVATE KEY-----",
                                "format": "pem-private-key",
                                "type": "string"
                              },
                              "key_algorithm": {
                                "description": "The certificate's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.",
                                "enum": [
                                  "rsaEncryption",
                                  "id-ecPublicKey"
                                ],
                                "example": "rsaEncryption",
                                "type": "string"
                              },
                              "modulus": {
                                "description": "The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key.",
                                "example": "ce52db786fd2776f69057ed8ee0d8ab267a2f328a66a3afd8\n76017a99d061ec5d24d646f80ec258c696cb742e2bcd2fef920177144d9126a4\n779c1a21ca5589ff06e673556116903493100dfba385a62d11aeec57f47e5b20\nad8d1142fbe93f003fb62403cdcc0012ccd407009ac21639623bc52a5d6d3814\nff9c45a7c246799f0229b4854af2aeddfa755ab13814132424f5b1680f2c357e\n1476af7422bd5863102cfc5982b3ddad7fecdeae5c1cb73789008be9ce2f24fe\n27c9202b3bca6524ba29a30972f14cbf06f0a1b7998c2361ed90221f40829faf\n644adc7b8da6f948d8745ffbe8e5b6f0c8e7ea9ef2bc26413f90666ef1200407\neab7c3b71c6e643",
                                "nullable": true,
                                "type": "string"
                              },
                              "modulus_length": {
                                "description": "The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key.",
                                "example": 2048,
                                "minimum": 1,
                                "nullable": true,
                                "type": "integer"
                              },
                              "not_after": {
                                "description": "When the certificate expired.",
                                "example": 1528486286,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "not_before": {
                                "description": "When the certificate started.",
                                "example": 1496950286,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "serial": {
                                "description": "The certificate's serial number.",
                                "example": "01e57e4d92",
                                "type": "string"
                              },
                              "signature_algorithm": {
                                "description": "The OID of the hash algorithm used to sign the certificate request.",
                                "example": "sha256WithRSAEncryption",
                                "type": "string"
                              },
                              "subject.commonName": {
                                "description": "The certificate's common name.",
                                "example": "example.servername.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "subject_text": {
                                "description": "The certificate's subject text information.",
                                "example": "stateOrProvinceName\\nTX\\nlocalityName\\nHouston\\ncountryName\\nUS\\ncommonName\\nexample.com\\norganizationName\\ncPanel",
                                "type": "string"
                              },
                              "validation_type": {
                                "description": "The certificate's validation type.\n* `ev` — Extended Validation.\n* `ov` — Organization Validated.\n* `dv` — Domain Validated.\n* `null` —  The system could not parse and determine the certificate's validation type.",
                                "example": "dv",
                                "type": "string"
                              },
                              "verify_error": {
                                "description": "A message that explains the reason for a verification error.",
                                "example": "DEPTH_ZERO_SELF_SIGNED_CERT",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "- `1` — Success.\n- `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return SSL certificate information for all FQDN",
        "tags": [
          "SSL",
          "cPanel Account SSL Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  fetch_certificates_for_fqdns \\\n  domains='example.com'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/fetch_certificates_for_fqdns?domains=example.com"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_fetch_certificates_for_fqdns.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_fetch_certificates_for_fqdns.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/fetch_certificates_for_fqdns/,\n    {\n        'domains' => 'example.com',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_fetch_certificates_for_fqdns.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_fetch_certificates_for_fqdns.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'fetch_certificates_for_fqdns',\n    array (\n        'domains' => 'example.com',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 66"
      }
    },
    "/SSL/fetch_key_and_cabundle_for_certificate": {
      "post": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function extracts the private key and CA bundle information from a certificate.\n\n**Note:**\n\nDue to the limited field length of `HTTP GET` method calls, you **must** use the `HTTP POST` method. For this reason, you **cannot** use a cPanel or Webmail session URL to call this function.",
        "operationId": "SSL-fetch_key_and_cabundle_for_certificate",
        "parameters": [
          {
            "description": "An SSL certificate.",
            "in": "query",
            "name": "certificate",
            "required": true,
            "schema": {
              "example": "-----BEGIN CERTIFICATE-----MIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQIDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYyMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNVBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3PXx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fWvoK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/daM3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6PLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGjUDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3WhcDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVwFYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2agqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPaKm6r7YmwfLN/YMZBHXSR58oOGP9W-----END CERTIFICATE-----",
              "format": "pem-certificate",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "certificate": {
                    "description": "The certificate file.",
                    "format": "pem-certificate",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "The certificate's contents."
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "fetch_key_and_cabundle_for_certificate",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "cab": {
                              "description": "The CA bundle's contents (if applicable).",
                              "example": "-----BEGIN CERTIFICATE-----MIIB+jCCAWMCAgGjMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUgQ29ycG9yYXRpb24xHDAaBgNVBAMTE0dURSBDeWJlclRydXN0IFJvb3QwHhcNOTYwMjIzMjMwMTAwWhcNMDYwMjIzMjM1OTAwWjBFMQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMRwwGgYDVQQDExNHVEUgQ3liZXJUcnVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC45k+625h8cXyvRLfTD0bZZOWTwUKOx7pJjTUteueLveUFMVnGsS8KDPufpz+iCWaEVh43KRuH6X4MypqfpX/1FZSj1aJGgthoTNE3FQZor734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt/51KiOQswkwB6RJ0q1bQaAYznEol44AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABKzdcZfHeFhVYAA1IFLezEPI2PnPfMD+fQ2qLvZ46WXTeorKeDWanOB5sCJo9Px4KWlIjeaY8JIILTbcuPI9tl8vrGvU9oUtCG41tWW4/5ODFlitppK+ULdjG+BqXH/9ApybW1EDp3zdHSo1TRJ6V6e6bR64eVaH4QwnNOfpSXY-----END CERTIFICATE-----",
                              "format": "pem-certificate",
                              "type": "string"
                            },
                            "crt": {
                              "description": "The certificate's contents.",
                              "example": "-----BEGIN CERTIFICATE-----MIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJc2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQIDAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYyMjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNVBAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3PXx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fWvoK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/daM3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6PLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGjUDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3WhcDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVwFYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2agqz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPaKm6r7YmwfLN/YMZBHXSR58oOGP9W-----END CERTIFICATE-----",
                              "format": "pem-certificate",
                              "type": "string"
                            },
                            "crt_origin": {
                              "description": "The username that generated the certificate.",
                              "example": "username",
                              "format": "username",
                              "type": "string"
                            },
                            "domain": {
                              "description": "The domain that generated the private key.",
                              "example": "example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "ip": {
                              "description": "The IP address.",
                              "example": "192.168.0.1",
                              "format": "ipv4",
                              "type": "string"
                            },
                            "key": {
                              "description": "The private key.",
                              "example": "-----BEGIN RSA PRIVATE KEY-----MIIJJwIBAAKCAgEA4yilqsoCdEpiNOyLcPJ4FLT7vgwaLdOBeJLTMUeV2uZM4v65/tiZe7H0soDp1C55SCr3uEIEa7Lq7RUZ+F5p67BgRR19rmerKGxfN7N5Vu97pfTwW1f+lVsxUF/56lVeoAmm4okU98xJHiGGlI8ZHGJbUMYfLPy0OrA+gNwMHqMVOv1BSgpbEWCILMvnvtp0rwPutjnPVX2Dj40ia40L4Wqvp+0Yg7mZyhIOl+q6VZVIdXZslR4ZywfRBYt3ieFBDYMyNw9wN3Xy44fCpHc77+ho84W3BqrGaWSSDyf6UkZGD5mfohGf2JSp+c8J6H7hsxo7pta3K1diVXFOSfnaA+k56zW445XruwYs/SN/zvGetGi6uqhMAcVRQcYCmLCixcC6RkcUx3exxgR4q3gthDnFvWC4+NuTh8/K0BcxcuCEhRug/MfVfO3+f7RJFSJPFb9m9Lf4HHBSVkDP5WtG4XiBKCe++9Wuvxbd4QxS7YrnSoKxkuHKswH8ONpADMYDqfLODMhNrslHNHu95Nv7AlQr8weLqMGWMp7GFqzXcl39RnVkF4Bxd3bAAsMN8/JvanMKCPjTTDrfzVFZcmHXPYOljYDdY1xfIstYVtbyFkUHZP2RPPBaPUAt90lzrKGVF8a2vdIKRiey5SZ5qu9c/mGri3oz7Lkk7qkNPAqDMCAwEAAQKCAgA3f9raG3j2CKZt381Bzzvfc0h+al6LC736Q4Ut6RuH2/S1ER9IUItPWW87nZuDp8ciBr13W0nRNmmHezxZHlgqqXEb8dSfI90Bh1jMNyFSSDihl3KSHrGotBscVBavViREXZdUicGBuXuxtkYno96yvKUq2v0K9MLkA+OBgEHFynqJaw7klBsj573dlAQO8TjI+eD8zKsHbB8Ul5rtRAy/Cl3YXWk75cDZSggevc7A0jRd3o0w8aXDoSlEfYq7OTm3n3JJWZBFPKAXTzgTDr6qItJhjS4IxXsq7RNyeIYES/8aGKKT6lJvjALrcdYt47IpHCOu447lG/h+f6xtDophLGZoAirO7lJFRVfLJh76sLF12bpXJKbbmMN+aut0nM+MLEw8A5K9OV24jJ/3+afj//5789asIyvNaQFPOX23SdLX0QbA5QWvJt2tWvvpS3ubcIJaBEMTK8asEBC68eUW0BBKJaSiYNzecUFYCBjQlxKsIrYuWZoW6fMyRel+cnqMdiH7r2p6RmgF5c9myDwq3E47jE+VrOy8uhw7EMQvT8+YSKaIbgtFZcUSU02BDRB7gWNa842m6nGs5tj5xFNQ6Wt410vilTwL+6zCQqJaKmcdE3woiIgSdrw5MssAHHjqo7QJthZfbpUAUTc6jGPNO13U1ediIRAGdQW5ALqTwQKCAQEA884bmFFZLTewHIv1PJFfNxVZfk3C7LhWE2JcI/5P/YrN4ZA8G08OYhgxqa5XnsHHQPwMM85i1HeOoPwqgTMIyLDX/Sf88+eW3ef4V2M1Y4op0ahWFEwbwXKGxOhncElObN7dfZUwVlxCReaiw2XQAGRqtQC0f+9dZysqPJr+Rz6poTiOtm7DcpW/WiGfBPvVhzBENyqouL9V3vCWYPJSLtCexECoGoPSpHKgUkwbh3+ra8SfG6FOIBj4PpMB82R7oPDjIyXF1VDfb0EwYQlKxyZoP9+NPT2MhZv/hF/Mbm/5LolVHx92hO9q6yxS6nvaFmEPr9fY1EOTWzzPOA+VyQKCAQEA7oVioaTqxENt+wHITZq100iYUpm4X1N1eENTp97QyQbQOVR/t8iGLUdvOZdIxBSTS3JFQ8TNcGDPPc+o319QGdZABNnKwFGY3Ss+5QgVeX6n0WKdxCRelUOUB174aBeXcJCKplh6xBUrLfSZxvZQQb7fv0Mb+2eKUBKTymvES1kpYdn1T0vCCHA3bVpaHuqliCoDSX3RmQICZlfSgCGBbAkmU8RuxDd9yR9l7O9MXUmLsqlsw6hvbUt+7Y13YlDtyX8gbCwEEYsoALOotY1xNfXnyZKTAXhrg+xsQLrURYZUoZiCJyK/mHCWRTPVkt89wq4IexbJ9hqlRjzpmlr8GwKCAQBxRSCs855q06SOnrehHCkQfmrFs3sMX9gdyWTllBG1yfc9BLXoOiKEkJkCLG2o5H6eQnuo1go0jBdH0+ArhnpeQ0sV4q4y4zXEgzFt6Dm1tUsYjQzxASskBQF4GkF0eZpmGmTtI5MBjHt93llgTr0EcaLh1SIHDj5m4DcPUTMyBnro3E3xlCRZ6Biu10/6EMZzuIj42Gjq7HoIyd4TzIFCHsqkgyWWrAgBPwAdPB7OJRKPTxpcy+RwJSmwaLxPSC/n5gKhIbt4D8q+9Zp0esyzGbT1d/c2rJHMwV1FMvzXkk5CwKs7enKl8FXMTRt4tXHtU8rl93JVq8+aY/YiJZuBAoIBAERG2lz7IFjeFHVtpTDRwIqilTfP2P8wnMe4PhInrgxdbu16SrUJKZ98e1I5BBNc8G0AYONtSoGItMo0z1phpkQ/GERLM8aplOB6qJ5XGg6VOuStHgwvfQOtPIp/nQvu9OK7/XRwj3Phu2KESiCyEXdAdDwDsdbdZLJXHwcqoh4Pf9EK2zW/seNIfBVJb9K5yHiZzicTZRQvhxBUw2T6MloCpH4GFM8GM3OHEV4pgeqSSvLxnLjFVmAq5EKL5Ei4cdjkExvj3aZH90N8KicOPgH8SkVhN8OL/Prein5c/LaKJV+8kEUzpTS1xc45cEGCteMsfjD97QINzpG0jgopUVECggEADIaKsx8NUQT3hm0wHRanEFJnQH5HzxaQjWbsjm2uz0KROPNIK1X5L8kypsb+EzlJtvWUqxPaOaTv4DZVpFaVzk8/2PPGsYR3mUjqMqNFYMrNwYZAXvJ/huzDPqq6+w2Pn9jcAifHNw3S8UR650v8gl7BU4fVBvhamG8JelvwLqeGWoikST9NBXVqG5IKBpUkUiFOMUNmRih9ooKvhy7GosoK8MWbmhWo1v8TTSXSagACUhAoIzb6mMN/VFC5WDbFx5AEB/G9tq/zmTqQkuo39dvgl30wyZGRNwc1aFf1Kxeven10/JN9ipp0mTa7NYSdn0RAe9ZRp5cCkgmktqmB0g==-----END RSA PRIVATE KEY-----",
                              "format": "pem-private-key",
                              "type": "string"
                            },
                            "key_origin": {
                              "description": "The username that generated the private key.",
                              "example": "username",
                              "format": "username",
                              "type": "string"
                            },
                            "searched_users": {
                              "description": "The users that the system searched for certificate information.",
                              "items": {
                                "example": "username",
                                "format": "username",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "status": {
                              "description": "Whether the certificate is active.\n* `1` - Active.\n* `0` - Inactive.",
                              "enum": [
                                0,
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "statusmsg": {
                              "description": "The certificate's status.",
                              "example": "ok",
                              "type": "string"
                            },
                            "user": {
                              "description": "The username that stores the private key.",
                              "example": "username",
                              "format": "username",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` - Success.\n* `0` - Failed. Check the `errors` field for more details.",
                          "enum": [
                            0,
                            1
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return private key and CA bundle",
        "tags": [
          "SSL",
          "cPanel Account SSL Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --input=json --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  fetch_key_and_cabundle_for_certificate\n"
          },
          {
            "label": "HTTP Request (Wire Format)",
            "lang": "HTTP",
            "source": "POST /cpsess##########/execute/SSL/fetch_key_and_cabundle_for_certificate HTTP/1.1\nHost: example.com:2083\nCookie: ###################################\nContent-Type: application/json\nContent-Length: 0\n\n"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/SSL/find_certificates_for_key": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function retrieves SSL certificates for a private key.\n\n**Note:**\n\nWhen you call this function, you **must** include either the `id`\n**or** the `friendly_name` parameter.",
        "operationId": "SSL-find_certificates_for_key",
        "parameters": [
          {
            "description": "The key's friendly name.",
            "in": "query",
            "name": "friendly_name",
            "required": false,
            "schema": {
              "example": "TestKey",
              "type": "string"
            }
          },
          {
            "description": "The key's ID.",
            "in": "query",
            "name": "id",
            "required": false,
            "schema": {
              "example": "example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "find_certificates_for_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "created": {
                                "description": "The date the certificate was created.",
                                "example": 1538308800,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "domains": {
                                "description": "A list of the domains that the certificate covers.",
                                "items": {
                                  "example": "example.com",
                                  "format": "domain",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "ecdsa_curve_name": {
                                "description": "The ECDSA curve that the certificate's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The certificate's key is **not** an ECDSA key.",
                                "enum": [
                                  "prime256v1",
                                  "secp384r1"
                                ],
                                "example": "prime256v1",
                                "nullable": true,
                                "type": "string"
                              },
                              "ecdsa_public": {
                                "description": "The certificate's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an ECDSA key.",
                                "example": null,
                                "nullable": true,
                                "type": "string"
                              },
                              "friendly_name": {
                                "description": "The certificate's friendly name.",
                                "example": "TestCert",
                                "type": "string"
                              },
                              "id": {
                                "description": "The certificate's ID.",
                                "example": "example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff",
                                "type": "string"
                              },
                              "is_self_signed": {
                                "description": "Whether the certificate is self-signed.\n\n* `1` — Self-signed.\n* `0` — Not self-signed.",
                                "enum": [
                                  1,
                                  0
                                ],
                                "example": 1,
                                "type": "integer"
                              },
                              "issuer.commonName": {
                                "description": "The name that issued the certificate.",
                                "example": "example.com",
                                "type": "string"
                              },
                              "issuer.organizationName": {
                                "description": "The certificate's organization name.",
                                "example": "The Example Organization",
                                "type": "string"
                              },
                              "issuer_text": {
                                "description": "The certificate's issuer information.",
                                "example": "countryName\nUS\ncommonName\u001bxample.com\nlocalityName\nHouston\norganizationName\ncPanel\nstateOrProvinceName\ntx",
                                "type": "string"
                              },
                              "key_algorithm": {
                                "description": "The certificate's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.",
                                "enum": [
                                  "rsaEncryption",
                                  "id-ecPublicKey"
                                ],
                                "example": "rsaEncryption",
                                "type": "string"
                              },
                              "modulus": {
                                "description": "The certificate's key's modulus, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an RSA key.",
                                "example": "a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db",
                                "nullable": true,
                                "type": "string"
                              },
                              "modulus_length": {
                                "description": "The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key.",
                                "example": 2048,
                                "nullable": true,
                                "type": "integer"
                              },
                              "not_after": {
                                "description": "The date the certificate expired.",
                                "example": 1569844800,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "not_before": {
                                "description": "The date the certificate started.",
                                "example": 1538308800,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "signature_algorithm": {
                                "description": "The certificate's signature OID hash algorithm.",
                                "example": "sha256WithRSAEncryption",
                                "type": "string"
                              },
                              "subject.commonName": {
                                "description": "The certificate's Common Name.",
                                "example": "example.com",
                                "type": "string"
                              },
                              "subject_text": {
                                "description": "The certificate's subject text information.",
                                "example": "countryName\nUS\ncommonName\u001bxample.com\nlocalityName\nHouston\norganizationName\ncPanel\nstateOrProvinceName\ntx",
                                "type": "string"
                              },
                              "validation_type": {
                                "description": "The certificate's validation type.\n\n* `ev` — Extended Validation.\n* `ov` — Organization Validation.\n* `dv` — Domain Validation.\n* `null` — The system could not parse and determine the\ncertificate's validation type.",
                                "enum": [
                                  "ev",
                                  "ov",
                                  "dv"
                                ],
                                "example": "dv",
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return SSL certificate for private key",
        "tags": [
          "SSL",
          "cPanel Account SSL Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  find_certificates_for_key\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/find_certificates_for_key"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_find_certificates_for_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_find_certificates_for_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/find_certificates_for_key/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_find_certificates_for_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_find_certificates_for_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'find_certificates_for_key'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/SSL/find_csrs_for_key": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function retrieves certificate signing requests (CSR) for\na private key.\n\n**Note:**\n\nWhen you call this function, you **must** include either the `id`\nor the `friendly_name` parameter.",
        "operationId": "SSL-find_csrs_for_key",
        "parameters": [
          {
            "description": "The key's friendly name.",
            "in": "query",
            "name": "friendly_name",
            "required": false,
            "schema": {
              "example": "TestKey",
              "type": "string"
            }
          },
          {
            "description": "The key's ID.",
            "in": "query",
            "name": "id",
            "required": false,
            "schema": {
              "example": "example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "find_csrs_for_key",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "items": {
                            "properties": {
                              "commonName": {
                                "description": "The CSR's common name.",
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "created": {
                                "description": "The date the CSR was created.",
                                "example": 1538265600,
                                "format": "unix_timestamp",
                                "type": "integer"
                              },
                              "domains": {
                                "description": "A list of the domains that the CSR covers.",
                                "items": {
                                  "example": "example.com",
                                  "format": "domain",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "ecdsa_curve_name": {
                                "description": "The ECDSA curve that the CSR's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The CSR's key is **not** an ECDSA key.",
                                "enum": [
                                  "prime256v1",
                                  "secp384r1"
                                ],
                                "example": "prime256v1",
                                "nullable": true,
                                "type": "string"
                              },
                              "ecdsa_public": {
                                "description": "The CSR's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an ECDSA key.",
                                "example": null,
                                "nullable": true,
                                "type": "string"
                              },
                              "friendly_name": {
                                "description": "The CSR's friendly name.",
                                "example": "TestCSR",
                                "type": "string"
                              },
                              "id": {
                                "description": "The CSR's ID.",
                                "example": "example_com_a74f7_9dddf_2c5d1615e85db817d6b640f65335fb62",
                                "type": "string"
                              },
                              "key_algorithm": {
                                "description": "The CSR's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.",
                                "enum": [
                                  "rsaEncryption",
                                  "id-ecPublicKey"
                                ],
                                "example": "rsaEncryption",
                                "type": "string"
                              },
                              "modulus": {
                                "description": "The CSR's key's modulus, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an RSA key.",
                                "example": "a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db",
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {
                            "transformed": {
                              "description": "Post-processing may have transformed the data.",
                              "enum": [
                                1
                              ],
                              "example": 1,
                              "type": "integer"
                            }
                          }
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Return private key's certificate signing requests",
        "tags": [
          "SSL",
          "cPanel Account SSL Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  find_csrs_for_key\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/find_csrs_for_key"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_find_csrs_for_key.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_find_csrs_for_key.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/find_csrs_for_key/\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_find_csrs_for_key.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_find_csrs_for_key.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'find_csrs_for_key'\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/SSL/generate_cert": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function generates a self-signed SSL certificate.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\nand Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.",
        "operationId": "SSL-generate_cert",
        "parameters": [
          {
            "description": "The two-letter country code.",
            "in": "query",
            "name": "countryName",
            "required": true,
            "schema": {
              "example": "US",
              "format": "ISO-3166-1 (alpha-2)",
              "type": "string"
            }
          },
          {
            "description": "A comma-separated list of domains for which to generate the certificate.",
            "examples": {
              "multiple": {
                "summary": "Generate certificates for multiple domains.",
                "value": "domains=example1.com,example2.com,example3.com"
              },
              "single": {
                "summary": "Generate a certificate for a domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domains",
            "required": true,
            "schema": {
              "format": "domain",
              "type": "string"
            }
          },
          {
            "description": "The key's ID.",
            "in": "query",
            "name": "key_id",
            "required": true,
            "schema": {
              "example": "example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3",
              "type": "string"
            }
          },
          {
            "description": "The certificate's city or locality name.",
            "in": "query",
            "name": "localityName",
            "required": true,
            "schema": {
              "example": "Houston",
              "type": "string"
            }
          },
          {
            "description": "The certificate's Organization Name.",
            "in": "query",
            "name": "organizationName",
            "required": true,
            "schema": {
              "example": "Organization",
              "type": "string"
            }
          },
          {
            "description": "The two-letter state or locality abbreviation.",
            "in": "query",
            "name": "stateOrProvinceName",
            "required": true,
            "schema": {
              "example": "TX",
              "type": "string"
            }
          },
          {
            "description": "An email address to associate with the certificate.",
            "in": "query",
            "name": "emailAddress",
            "required": false,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "A friendly name for the new certificate.\n\nThis parameter defaults to the domain's name for which you generated the\ncertificate.",
            "in": "query",
            "name": "friendly_name",
            "required": false,
            "schema": {
              "example": "TestCert",
              "type": "string"
            }
          },
          {
            "description": "The certificate's organizational unit or department name.",
            "in": "query",
            "name": "organizationalUnitName",
            "required": false,
            "schema": {
              "default": "",
              "example": "Department",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "generate_cert",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "created": {
                              "description": "The certificate's creation date.",
                              "example": 1538308800,
                              "format": "unix_timestamp",
                              "type": "integer"
                            },
                            "domains": {
                              "description": "A list of domains that the certificate covers.",
                              "items": {
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "ecdsa_curve_name": {
                              "description": "The ECDSA curve that the certificate's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The certificate's key is **not** an ECDSA key.",
                              "enum": [
                                "prime256v1",
                                "secp384r1"
                              ],
                              "example": "prime256v1",
                              "nullable": true,
                              "type": "string"
                            },
                            "ecdsa_public": {
                              "description": "The certificate's key's ECDSA compressed public point, in hexadecimal format.\n\n* null — The certificate's key is **not** an ECDSA key.",
                              "example": null,
                              "nullable": true,
                              "type": "string"
                            },
                            "friendly_name": {
                              "description": "The certificate's friendly name.",
                              "example": "TestCert",
                              "type": "string"
                            },
                            "id": {
                              "description": "The certificate's ID.",
                              "example": "example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff",
                              "type": "string"
                            },
                            "is_self_signed": {
                              "description": "Whether the certificate is self-signed.\n\n* `1` — Self-signed.\n* `0` — Not self-signed.",
                              "enum": [
                                1,
                                0
                              ],
                              "example": 1,
                              "type": "integer"
                            },
                            "issuer.commonName": {
                              "description": "The certificate's Common Name.",
                              "example": "example.com",
                              "type": "string"
                            },
                            "issuer.organizationName": {
                              "description": "The certificate's Organization Name.",
                              "example": "Organization",
                              "type": "string"
                            },
                            "key_algorithm": {
                              "description": "The certificate's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.",
                              "enum": [
                                "rsaEncryption",
                                "id-ecPublicKey"
                              ],
                              "example": "rsaEncryption",
                              "type": "string"
                            },
                            "modulus": {
                              "description": "The certificate's key's modulus, in hexadecimal format.\n\n* `null` — The certificate's key is **not** an RSA key.",
                              "example": "a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db",
                              "nullable": true,
                              "type": "string"
                            },
                            "modulus_length": {
                              "description": "The length, in bits, of the certificate's key's modulus.\n\n* `null` — The certificate's key is **not** an RSA key.",
                              "example": 2048,
                              "nullable": true,
                              "type": "integer"
                            },
                            "not_after": {
                              "description": "The date that the certificate expires.",
                              "example": 1569844800,
                              "format": "unix_timestamp",
                              "type": "integer"
                            },
                            "not_before": {
                              "description": "The certificate's start date.",
                              "example": 1538308800,
                              "format": "unix_timestamp",
                              "type": "integer"
                            },
                            "serial": {
                              "description": "The certificate's serial number.",
                              "example": "01e57e4d92",
                              "type": "string"
                            },
                            "signature_algorithm": {
                              "description": "The certificate's OID hash algorithm signature.",
                              "example": "sha256WithRSAEncryption",
                              "type": "string"
                            },
                            "subject.commonName": {
                              "description": "The domain that issued the certificate.",
                              "example": "example.com",
                              "format": "domain",
                              "type": "string"
                            },
                            "text": {
                              "description": "The certificate's text.",
                              "example": "-----BEGIN CERTIFICATE-----\nMIIGBzCCA++gAwIBAgIFAeV+TZIwDQYJKoZIhvcNAQELBQAwUjELMAkGA1UECAwC\nVFgxEDAOBgNVBAcMB0hvdXN0b24xCzAJBgNVBAYTAlVTMRMwEQYDVQQDDAptcmZy\nb2cuY29tMQ8wDQYDVQQKDAZjUGFuZWwwHhcNMjAwNjA4MTUyNjA0WhcNMjEwNjA4\nMTUyNjA0WjBSMQswCQYDVQQIDAJUWDEQMA4GA1UEBwwHSG91c3RvbjELMAkGA1UE\nBhMCVVMxEzARBgNVBAMMCm1yZnJvZy5jb20xDzANBgNVBAoMBmNQYW5lbDCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK/PpzRsms2ZZmA1EG2rNYZaAq2z\nbhUGN6YMpugDwPL9xuqDwf0WUdoBjSBbty7rb5zMCZ+Ty3xHFAo15TLQXqtM0zIo\nh/FRET9rtl6EuXFFFN+eAiV4GgZJVmVMmcgXNGgSjKZHhie5THkGJbwXXRxZryHN\nQIeLlT7DttSwoAh9rEbk6hHKyyoQQ4rSkNXREUZTN3Gk7u7et8iYWl1FBkmJkFDJ\nH4Ys678md7AiXndb4YkOQd2CEgoWXMaMLWJcFkdAmrIYhRmJvyp3BzF9hEkg+qPp\nVEyIL/xVxScdxiFKGWbiHr10UiFt/0+g0gToyUXCmsfo01p0oqrk4qRSZMnUtfdX\nW06vvD64x4Z4M4Jh5WqzVEXEdppzJx09Z7MBK6GLN82pV46x8jp87cBL1LZrpWDinerx+6Vr7YC62itfp6aJ2q6vkxCh4u8T6EjPEcpZAEh5SiQZaOLhAlqgt/lwPpuCW\nQ7LEi/Vg4aG3yb/z8e2BvRK5nnCHd7OOZqg7HJ9UnrzFxeQ8KyvcxP+oYD3h0EvZ\n1zVTbJDLbYuohqbLts3Skuk1hT9HoeWqrmzn2XkoU8LkvzCcRT0oG40BfFr4z7Zz\nsKfG9Z4e06kb1YAPrSqd9w/iI1Ej8cRhBBlowYFq9RjNlkjJCwKlxzynNAJjoQ5W\nU5NJzKjUz6ChHAAtAgMBAAGjgeMwgeAwHQYDVR0OBBYEFFczMNVfcxDsyk27GfjD\nC0Z1Yv+mMAkGA1UdEwQCMAAwfgYDVR0jBHcwdYAUVzMw1V9zEOzKTbsZ+MMLRnVi\n/6ahVqRUMFIxCzAJBgNVBAgMAlRYMRAwDgYDVQQHDAdIb3VzdG9uMQswCQYDVQQG\nEwJVUzETMBEGA1UEAwwKbXJmcm9nLmNvbTEPMA0GA1UECgwGY1BhbmVsggUB5X5N\nkjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwFQYDVR0RBA4wDIIKbXJm\ncm9nLmNvbTANBgkqhkiG9w0BAQsFAAOCAgEArbNqSdABFWy8NbpDGDAoi2rpw/aM\nWu18iEAHmPg9YekIngNpxZg4b8SB4jrNSSqB0pK8asckxmAcho/pnAx4rOFibftd\nDmGzYxGN9h60JkVToWSn3UQ/0dbqfhfTbGiQvJHTNqB3pQVvWenMFRz9XEcpMDUj\n7UKR8v2xe5Y25yvNPVezYF2/x85awlOoSa00UlKgqh0OU+iuzQZ9T3wtk5uvlc7Z\nIEzBseIn3Kp/WG3P64Rxn95YT6QssKJ+pZ412yKM7vKdcuglNLTv5cx4ffKFN1jm\nanCmPXgYsUdAazmZVSjVuVN7d2+NL+SDVczZCdJ2Vhk5DPqv8ZnHUF7MT+K6vtQd\nJ16+pszCF55t9w5uPqur67/R00dCWLpxvHRRF8J+2Xverhmex5kR6a1nUlbP1oOP\nVq+EmcAL0PP6qdDr8fkjgvNyX7hT+cuiPBbxpY6XfDSlat5+5T2lJ1Ny6GWhBnaR\n35g3EF8ysu3AYQnDwtZrOrEa08lDN3mbrkT3ImSa5oZKgOrlpCZ0dzi8p4wSrboq\n9eZyqikEvuudz+VeQf1WR/6/FsyRq2PEtjgX1atWZiPfatN5f1YVxcElTvuMzyOP\nZXjpUs8MO+CHF1FwtKm52NNItIlnUY7KPpFU8L+oa8O2BMr91wi8NpTR2gd0F+jH\n21NkfEM7YlXzgMw=\n-----END CERTIFICATE-----\n",
                              "format": "pem-certificate",
                              "type": "string"
                            },
                            "validation_type": {
                              "description": "The certificate's validation type, if one exists.",
                              "example": null,
                              "nullable": true,
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "items": {
                            "example": "Certificate generated",
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create self-signed SSL certificate",
        "tags": [
          "SSL",
          "SSL Certificate Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  generate_cert \\\n  domains='example.com' \\\n  countryName='US' \\\n  stateOrProvinceName='TX' \\\n  localityName='Houston' \\\n  organizationName='Organization' \\\n  key_id='example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/generate_cert?domains=example.com&countryName=US&stateOrProvinceName=TX&localityName=Houston&organizationName=Organization&key_id=example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_generate_cert.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_generate_cert.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/generate_cert/,\n    {\n        'domains' => 'example.com',\n        'countryName' => 'US',\n        'stateOrProvinceName' => 'TX',\n        'localityName' => 'Houston',\n        'organizationName' => 'Organization',\n        'key_id' => 'example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_generate_cert.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_generate_cert.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'SSL',\n    'generate_cert',\n    array (\n        'domains' => 'example.com',\n        'countryName' => 'US',\n        'stateOrProvinceName' => 'TX',\n        'localityName' => 'Houston',\n        'organizationName' => 'Organization',\n        'key_id' => 'example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
          }
        ],
        "x-cpanel-api-version": "UAPI",
        "x-cpanel-available-version": "cPanel 11.42"
      }
    },
    "/SSL/generate_csr": {
      "get": {
        "x-readonly": false,
        "x-rollback": "none",
        "description": "This function generates a certificate signing request (CSR).\n\n**Note:**\n\nThis function **requires** a valid key in the account's `ssl` directory.\nYou can generate a key with UAPI's `SSL::generate_key` function.\n\n**Important:**\n\nWhen you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,\nand WebServer [roles](https://go.cpanel.net/howtouseserverprofiles#roles),\nthe system **disables** this function.",
        "operationId": "SSL-generate_csr",
        "parameters": [
          {
            "description": "The two-letter country code.",
            "in": "query",
            "name": "countryName",
            "required": true,
            "schema": {
              "example": "US",
              "format": "ISO-3166-1 (alpha-2)",
              "type": "string"
            }
          },
          {
            "description": "A comma-separated list of the domains for which to generate the certificate.",
            "examples": {
              "multiple": {
                "summary": "Generate a certificate for multiple domains.",
                "value": "domains=example-1.com,example-1.com,example-2.com"
              },
              "single": {
                "summary": "Generate a certificate for a single domain.",
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domains",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The key's ID.",
            "in": "query",
            "name": "key_id",
            "required": true,
            "schema": {
              "example": "example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3",
              "type": "string"
            }
          },
          {
            "description": "The certificate's city or locality name.",
            "in": "query",
            "name": "localityName",
            "required": true,
            "schema": {
              "example": "Houston",
              "type": "string"
            }
          },
          {
            "description": "The certificate's organization.",
            "in": "query",
            "name": "organizationName",
            "required": true,
            "schema": {
              "example": "Organization",
              "type": "string"
            }
          },
          {
            "description": "The certificate's state or locality name.",
            "in": "query",
            "name": "stateOrProvinceName",
            "required": true,
            "schema": {
              "example": "Texas",
              "type": "string"
            }
          },
          {
            "description": "An email address to associate with the certificate.",
            "in": "query",
            "name": "emailAddress",
            "required": false,
            "schema": {
              "example": "username@example.com",
              "format": "email",
              "type": "string"
            }
          },
          {
            "description": "A friendly name for the new certificate.\n\nThis parameter defaults to the domain name for which you generated the\ncertificate.",
            "in": "query",
            "name": "friendly_name",
            "required": false,
            "schema": {
              "example": "TestCert",
              "type": "string"
            }
          },
          {
            "description": "The certificate's organizational unit or department name.",
            "in": "query",
            "name": "organizationalUnitName",
            "required": false,
            "schema": {
              "default": "",
              "example": "Department",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "apiversion": {
                      "description": "The version of the API.",
                      "example": 3,
                      "type": "integer"
                    },
                    "func": {
                      "description": "The name of the method called.",
                      "example": "generate_csr",
                      "type": "string"
                    },
                    "module": {
                      "description": "The name of the module called.",
                      "example": "SSL",
                      "type": "string"
                    },
                    "result": {
                      "properties": {
                        "data": {
                          "properties": {
                            "commonName": {
                              "description": "The name that issued the CSR.",
                              "example": "example.com",
                              "type": "string"
                            },
                            "created": {
                              "description": "The date the CSR was created.",
                              "example": 1569884400,
                              "format": "unix_timestamp",
                              "type": "integer"
                            },
                            "domains": {
                              "description": "The domains that the CSR covers.",
                              "items": {
                                "example": "example.com",
                                "format": "domain",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "ecdsa_curve_name": {
                              "description": "The ECDSA curve that the CSR's key uses.\n\n* `prime256v1`\n* `secp384r1`\n* `null` — The CSR's key is **not** an ECDSA key.",
                              "enum": [
                                "prime256v1",
                                "secp384r1"
                              ],
                              "example": "prime256v1",
                              "nullable": true,
                              "type": "string"
                            },
                            "ecdsa_public": {
                              "description": "The CSR's key's ECDSA compressed public point, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an ECDSA key.",
                              "example": null,
                              "nullable": true,
                              "type": "string"
                            },
                            "friendly_name": {
                              "description": "The CSR's friendly name.",
                              "example": "TestCSR",
                              "type": "string"
                            },
                            "id": {
                              "description": "The CSR's ID.",
                              "example": "example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff",
                              "type": "string"
                            },
                            "key_algorithm": {
                              "description": "The CSR's key's algorithm.\n\n* `rsaEncryption` — RSA.\n* `id-ecPublicKey` — ECDSA.",
                              "enum": [
                                "rsaEncryption",
                                "id-ecPublicKey"
                              ],
                              "example": "rsaEncryption",
                              "type": "string"
                            },
                            "modulus": {
                              "description": "The CSR's key's modulus, in hexadecimal format.\n\n* `null` — The CSR's key is **not** an RSA key.",
                              "example": "a673c3b17344664b35f8791f562d3aea6bf4d8faa3ae3fc0a519380fd453964a36677c34d48677ecb7f5ed035df026f5f0f8fbfe21745e52daf1f3b9e58c73f0baefdb709320e2202e7d05250b051a59b30ff1fef22d83d7140c1c81cea314a0890ce8d2226799872181c58a74016c7aaa2cff5ac72b575cecde8f304aa572a2ea03d8b173ab76c6e8cdb9dfd0da81e1119cefd4b8b4dbfbe0e46c7f1ee2fe8b5fd5504e58ccbc0d13b4fa41ecc9ebd0dabe1d1fec5c724f748167e7c0553e997f9b77eb36abce70973f06df151748d41b758de3efd7afa6f2464a1547f5ff158469d96e248be464df9eda0e7ce854a89332a2c1278b17c425368a9604f454db",
                              "nullable": true,
                              "type": "string"
                            },
                            "text": {
                              "description": "The CSR's text.",
                              "example": "-----BEGIN CERTIFICATE REQUEST-----\nMIIC3TCCAcUCAQAwgZcxFDASBgNVBAMMC2V4YW1wbGUuY29tMRYwFAYDVQQLDA1E\nb2N1bWVudGF0aW9uMQswCQYDVQQGEwJVUzEiMCAGCSqGSIb3DQEJARYTbGF1cmVu\nY2VAY3BhbmVsLm5ldDEUMBIGA1UECgwLY1BhbmVsIEluYy4xDjAMBgNVBAgMBVRl\neGFzMRAwDgYDVQQHDAdIb3VzdG9uMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAp092NvpqyT7mg2qDqZW1XetQGeo217o9r7AOONaTrNsMgbL/d31rQzpC\nD65SPxJ/NSpovMi48tbue3A5W6+r2CN62oFk/d34N2swN1w11NTLzOfTPQgGnBe0\nCRdqNonx68l8Cwj+auRMGakqxtaESOfx0T87Ngr/1CIqUbTzU0LembWh+1VI5Djy\n2CRmRWKkSAAu7X/OJN7cfcPh7ReZc9Ha6VmzNxbutBDRcnCJVOAGMsv2Cg4mQZhg\nyMC8KF1r/ktHneDdGJdypdrmdr0qkqzMwTaYIb6M/93Yp+bswGH4oyqa4GYeTpRu\n2OOCeydxONOnYRZWfL0SnL2Gnvnd3wIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEB\nAFlolzJbcviWcdZUv+PJ7G8cAqFAxa8a3W2a0Y1U0BaMrpDfuOHpQgOtO62rr+i+\nhkrIReuk7Isyl6GoZkX17KhQ1Vo9aW8a8Ur7+0RGDbxRlK9jJWnvSFn6cMMqRSfA\nDXpptxhqBFZJIZMc3pPX9Jqycuu8bxeIvUKeSMe3Jxcl1ZXEXX47FeRZxvd+WXF9\n4Xu4KZXHdzb5tB6jPhzIaN0/3d92N/KhvCcnw3YC2fEGDkpOlZaoa7O72+aq5K3b\nM1htFv9deAHqIHefV41iOrxUCIKIhdPIjvAm774lDHLzPpJVrshO/NpA74LEkny5\nFMwKKx+6Jgx1HSWucn5kWek=\n-----END CERTIFICATE REQUEST-----",
                              "format": "pem-certificate-request",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "errors": {
                          "description": "List of errors if the API failed.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "messages": {
                          "description": "List of messages generated by the API.",
                          "example": [
                            "Certificate Signing Request generated!"
                          ],
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "metadata": {
                          "properties": {}
                        },
                        "status": {
                          "description": "* `1` — Success.\n* `0` — Failed. Check the `errors` field for more details.",
                          "enum": [
                            1,
                            0
                          ],
                          "example": 1,
                          "type": "integer"
                        },
                        "warnings": {
                          "description": "List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.",
                          "example": null,
                          "items": {
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "HTTP Request was successful."
          }
        },
        "summary": "Create certificate signing request",
        "tags": [
          "SSL",
          "SSL Certificate Management"
        ],
        "x-codeSamples": [
          {
            "label": "CLI",
            "lang": "Shell",
            "source": "uapi --output=jsonpretty \\\n  --user=username \\\n  SSL \\\n  generate_csr \\\n  domains='example.com' \\\n  countryName='US' \\\n  stateOrProvinceName='Texas' \\\n  localityName='Houston' \\\n  organizationName='Organization' \\\n  key_id='example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3'\n"
          },
          {
            "label": "URL",
            "lang": "HTTP",
            "source": "https://hostname.example.com:2083/cpsess##########/execute/SSL/generate_csr?domains=example.com&countryName=US&stateOrProvinceName=Texas&localityName=Houston&organizationName=Organization&key_id=example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3"
          },
          {
            "label": "LiveAPI Perl",
            "lang": "Perl",
            "source": "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file SSL_generate_csr.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme_name>/\n#    to .../frontend/<theme_name>/api_examples/SSL_generate_csr.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/SSL/,\n    q/generate_csr/,\n    {\n        'domains' => 'example.com',\n        'countryName' => 'US',\n        'stateOrProvinceName' => 'Texas',\n        'localityName' => 'Houston',\n        'organizationName' => 'Organization',\n        'key_id' => 'example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
          },
          {
            "label": "LiveAPI PHP",
            "lang": "PHP",
            "source": "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme_name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file SSL_generate_csr.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme_name>/\n//    to .../frontend/<theme_name>/api_examples/SSL_generate_csr.live.php\n//-----------------------------------------------------